Re: [PATCH v3] w1: ds2408: reset on output_write retry with readback

From: Greg KH
Date: Thu Mar 28 2019 - 12:28:05 EST


On Thu, Mar 28, 2019 at 08:22:44AM -0400, Jean-Francois Dagenais wrote:
> When we have success in 'Channel Access Write' but reading back latch
> states fails, a write is retried without doing a proper slave reset.
> This leads to protocol errors as the slave treats the next 'Channel
> Access Write' as the continuation of previous command.
>
> This commit is fixing this by making sure if the retry loop re-runs, a
> reset is performed, whatever the failure (CONFIRM_BYTE or the read
> back).
>
> The loop was quite due for a cleanup and this change mandated it. By
> isolating the CONFIG_W1_SLAVE_DS2408_READBACK case into it's own
> function, we vastly reduce the visual and branching(runtime and
> compile-time) noise.
>
> Reported-by: Mariusz Bialonczyk <manio@xxxxxxxxxx>
> Tested-by: Mariusz Bialonczyk <manio@xxxxxxxxxx>
> Signed-off-by: Jean-Francois Dagenais <jeff.dagenais@xxxxxxxxx>
> ---
> drivers/w1/slaves/w1_ds2408.c | 76 ++++++++++++++++++++++---------------------
> 1 file changed, 39 insertions(+), 37 deletions(-)

What changed from previous versions? That information always goes below
the --- line.

v4 please.

thanks,

greg k-h