All of lore.kernel.org
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzk@kernel.org>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Josef Bacik <josef@toxicpanda.com>,
	linux-kernel@vger.kernel.org, stable <stable@kernel.org>
Subject: Re: [PATCH 3/9] w1: ds2482: set the strong pull-up with its byte
Date: Fri, 30 Oct 2026 14:09:06 +0100	[thread overview]
Message-ID: <827abae1-efdb-4e8a-bcb1-233ff418529d@kernel.org> (raw)
In-Reply-To: <20261027-llm-char-misc-w1-v1-3-d2e6bfafb6a4@linuxfoundation.org>

On 27/10/2026 17:04, Greg Kroah-Hartman wrote:
> From: Josef Bacik <josef@toxicpanda.com>
> 
> The eight channels of a DS2482-800 are eight independent 1-wire masters
> for the w1 core, but share one I2C device. Each bus operation consists of
> several I2C transfers: select the channel, send the command, poll the
> status, set the read pointer, read the result. access_lock keeps the
> operations of the channels apart.
> 
> ds2482_w1_set_pullup() polls the status, writes the configuration and
> polls again without the lock. Polling sets the read pointer of the device
> to the status register. In the middle of a read on another channel, after
> that one has set the pointer to the data register, this makes the read
> return the status instead of the data. The cached copy of the pointer in
> pdev->read_prt can go wrong as well.
> 
> The lock alone is not enough. The strong pull-up is a setting of the
> whole chip which is used up by the next byte. If an operation of another
> channel gets in before the byte it was meant for, that channel gets the
> pull-up, and the sensor converts without power.
> 
> So only note the request in ds2482_w1_set_pullup(), and write the
> configuration in ds2482_w1_write_byte(), under the lock and after the
> channel has been selected. The w1 core calls the former right before the
> latter, under the bus mutex of the channel.
> 
> Fixes: 9c95bb6f25ff ("w1: ds2482: Added 1-Wire pull-up support to the driver")
> Cc: stable <stable@kernel.org>
> Signed-off-by: Josef Bacik <josef@toxicpanda.com>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>

Best regards,
Krzysztof

  reply	other threads:[~2026-10-30 13:09 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-27 16:04 [PATCH 0/9] w1: a bunch of llm-found fixes Greg Kroah-Hartman
2026-10-27 16:04 ` [PATCH 1/9] w1: use the bus mutex for the "rw" file Greg Kroah-Hartman
2026-10-30 12:23   ` Krzysztof Kozlowski
2026-10-27 16:04 ` [PATCH 2/9] w1: remove the master's files before taking its locks Greg Kroah-Hartman
2026-10-30 12:56   ` Krzysztof Kozlowski
2026-10-27 16:04 ` [PATCH 3/9] w1: ds2482: set the strong pull-up with its byte Greg Kroah-Hartman
2026-10-30 13:09   ` Krzysztof Kozlowski [this message]
2026-10-27 16:04 ` [PATCH 4/9] w1: ds28e04: use the bus mutex to talk on the bus Greg Kroah-Hartman
2026-10-30 13:10   ` Krzysztof Kozlowski
2026-10-27 16:04 ` [PATCH 5/9] w1: ds2805: " Greg Kroah-Hartman
2026-10-30 13:11   ` Krzysztof Kozlowski
2026-10-30 13:17   ` Krzysztof Kozlowski
2026-10-27 16:04 ` [PATCH 6/9] w1: netlink: drop the slave after the bus is unlocked Greg Kroah-Hartman
2026-10-30 13:41   ` Krzysztof Kozlowski
2026-10-27 16:04 ` [PATCH 7/9] w1: don't hold list_mutex while a slave is torn down Greg Kroah-Hartman
2026-10-30 13:42   ` Krzysztof Kozlowski
2026-10-27 16:04 ` [PATCH 8/9] w1: w1_therm: lock the list of slaves for the bulk read Greg Kroah-Hartman
2026-10-30 13:44   ` Krzysztof Kozlowski
2026-10-27 16:04 ` [PATCH 9/9] w1: w1_therm: leave the slaves of other families alone Greg Kroah-Hartman
2026-10-30 13:45   ` Krzysztof Kozlowski
2026-10-30  8:14 ` [PATCH 0/9] w1: a bunch of llm-found fixes Krzysztof Kozlowski
2026-10-30  8:22   ` Greg Kroah-Hartman
2026-10-30  8:43     ` Krzysztof Kozlowski
2026-10-30 13:45 ` Krzysztof Kozlowski
2026-10-30 13:49   ` Greg Kroah-Hartman
2026-11-04 13:09   ` Greg Kroah-Hartman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=827abae1-efdb-4e8a-bcb1-233ff418529d@kernel.org \
    --to=krzk@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=josef@toxicpanda.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.