Re: [PATCH 1/4] rtc: isl1208: Fix unintended clear of SR bits

From: Alexandre Belloni
Date: Wed Feb 14 2018 - 15:26:31 EST


On 23/01/2018 at 13:17:58 +0100, Michael Grzeschik wrote:
> From: Denis Osterland <Denis.Osterland@xxxxxxxxx>
>
> After successful
> sr = isl1208_i2c_set_regs(client, 0, regs, ISL1208_RTC_SECTION_LEN);
> sr will be 0.
> As a result
> sr = i2c_smbus_write_byte_data(client, ISL1208_REG_SR,
> sr & ~ISL1208_REG_SR_WRTC);
> is equal to
> sr = i2c_smbus_write_byte_data(client, ISL1208_REG_SR, 0);
> which clears all flags in SR.
>
> Add an additional read of SR, to have value of SR in sr again.
>
> Signed-off-by: Denis Osterland <Denis.Osterland@xxxxxxxxx>
> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx>
> ---
> drivers/rtc/rtc-isl1208.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
Applied, thanks.

--
Alexandre Belloni, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
http://bootlin.com