All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] i2c: i2c-mux-pca954x: retry updating the mux selection on failure
@ 2016-09-14 13:24 Peter Rosin
  2016-09-15 19:52 ` Wolfram Sang
  2016-09-21 21:11 ` Wolfram Sang
  0 siblings, 2 replies; 5+ messages in thread
From: Peter Rosin @ 2016-09-14 13:24 UTC (permalink / raw)
  To: open list:I2C MUXES; +Cc: Peter Rosin, Wolfram Sang, open list

The cached value of the last selected channel prevents retries on the
next call, even on failure to update the selected channel. Fix that.

Signed-off-by: Peter Rosin <peda@axentia.se>
---
 drivers/i2c/muxes/i2c-mux-pca954x.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/i2c/muxes/i2c-mux-pca954x.c b/drivers/i2c/muxes/i2c-mux-pca954x.c
index 528e755c468f..3278ebf1cc5c 100644
--- a/drivers/i2c/muxes/i2c-mux-pca954x.c
+++ b/drivers/i2c/muxes/i2c-mux-pca954x.c
@@ -164,7 +164,7 @@ static int pca954x_select_chan(struct i2c_mux_core *muxc, u32 chan)
 	/* Only select the channel if its different from the last channel */
 	if (data->last_chan != regval) {
 		ret = pca954x_reg_write(muxc->parent, client, regval);
-		data->last_chan = regval;
+		data->last_chan = ret ? 0 : regval;
 	}
 
 	return ret;
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] i2c: i2c-mux-pca954x: retry updating the mux selection on failure
  2016-09-14 13:24 [PATCH] i2c: i2c-mux-pca954x: retry updating the mux selection on failure Peter Rosin
@ 2016-09-15 19:52 ` Wolfram Sang
  2016-09-16  7:01     ` Peter Rosin
  2016-09-21 21:11 ` Wolfram Sang
  1 sibling, 1 reply; 5+ messages in thread
From: Wolfram Sang @ 2016-09-15 19:52 UTC (permalink / raw)
  To: Peter Rosin; +Cc: open list:I2C MUXES, open list

[-- Attachment #1: Type: text/plain, Size: 312 bytes --]

On Wed, Sep 14, 2016 at 03:24:12PM +0200, Peter Rosin wrote:
> The cached value of the last selected channel prevents retries on the
> next call, even on failure to update the selected channel. Fix that.
> 
> Signed-off-by: Peter Rosin <peda@axentia.se>

Looks good. Is this 4.8 material or rather 4.9?


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] i2c: i2c-mux-pca954x: retry updating the mux selection on failure
  2016-09-15 19:52 ` Wolfram Sang
@ 2016-09-16  7:01     ` Peter Rosin
  0 siblings, 0 replies; 5+ messages in thread
From: Peter Rosin @ 2016-09-16  7:01 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-i2c, linux-kernel

[Resend, with lists added back...]

On 2016-09-15 21:52, Wolfram Sang wrote:
> On Wed, Sep 14, 2016 at 03:24:12PM +0200, Peter Rosin wrote:
>> The cached value of the last selected channel prevents retries on the
>> next call, even on failure to update the selected channel. Fix that.
>>
>> Signed-off-by: Peter Rosin <peda@axentia.se>
> 
> Looks good. Is this 4.8 material or rather 4.9?

I have no real-world event or report backing the change, but it is
simple enough and fixes problems that are potentially very hard to
detect/reproduce. Certainly fodder for 4.8 and probably stable as
well (if you care). But no biggie, so personally I don't mind if
you wait until 4.9, but then again I don't depend on the driver...

Cheers,
Peter

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] i2c: i2c-mux-pca954x: retry updating the mux selection on failure
@ 2016-09-16  7:01     ` Peter Rosin
  0 siblings, 0 replies; 5+ messages in thread
From: Peter Rosin @ 2016-09-16  7:01 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-i2c, linux-kernel

[Resend, with lists added back...]

On 2016-09-15 21:52, Wolfram Sang wrote:
> On Wed, Sep 14, 2016 at 03:24:12PM +0200, Peter Rosin wrote:
>> The cached value of the last selected channel prevents retries on the
>> next call, even on failure to update the selected channel. Fix that.
>>
>> Signed-off-by: Peter Rosin <peda@axentia.se>
> 
> Looks good. Is this 4.8 material or rather 4.9?

I have no real-world event or report backing the change, but it is
simple enough and fixes problems that are potentially very hard to
detect/reproduce. Certainly fodder for 4.8 and probably stable as
well (if you care). But no biggie, so personally I don't mind if
you wait until 4.9, but then again I don't depend on the driver...

Cheers,
Peter

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] i2c: i2c-mux-pca954x: retry updating the mux selection on failure
  2016-09-14 13:24 [PATCH] i2c: i2c-mux-pca954x: retry updating the mux selection on failure Peter Rosin
  2016-09-15 19:52 ` Wolfram Sang
@ 2016-09-21 21:11 ` Wolfram Sang
  1 sibling, 0 replies; 5+ messages in thread
From: Wolfram Sang @ 2016-09-21 21:11 UTC (permalink / raw)
  To: Peter Rosin; +Cc: open list:I2C MUXES, open list

[-- Attachment #1: Type: text/plain, Size: 313 bytes --]

On Wed, Sep 14, 2016 at 03:24:12PM +0200, Peter Rosin wrote:
> The cached value of the last selected channel prevents retries on the
> next call, even on failure to update the selected channel. Fix that.
> 
> Signed-off-by: Peter Rosin <peda@axentia.se>

Applied to for-current and added stable, thanks!


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-09-21 21:11 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-14 13:24 [PATCH] i2c: i2c-mux-pca954x: retry updating the mux selection on failure Peter Rosin
2016-09-15 19:52 ` Wolfram Sang
2016-09-16  7:01   ` Peter Rosin
2016-09-16  7:01     ` Peter Rosin
2016-09-21 21:11 ` Wolfram Sang

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.