Message ID | 1509730361-23905-3-git-send-email-akshay.bhat@timesys.com |
---|---|
State | Changes Requested |
Headers | show |
Series | [1/3] rtc: rx8010: Remove duplicate define | expand |
On 03/11/2017 at 13:32:41 -0400, Akshay Bhat wrote: > The err variable is not being reset after a successful read. Explicitly > reset err variable to account for all return paths. > > Reported-by: Jens-Peter Oswald <oswald@lre.de> > Signed-off-by: Akshay Bhat <akshay.bhat@timesys.com> > --- > drivers/rtc/rtc-rx8010.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/rtc/rtc-rx8010.c b/drivers/rtc/rtc-rx8010.c > index 2e06e5f..1ce2078 100644 > --- a/drivers/rtc/rtc-rx8010.c > +++ b/drivers/rtc/rtc-rx8010.c > @@ -223,6 +223,7 @@ static int rx8010_init_client(struct i2c_client *client) > 2, ctrl); > if (err != 2) > return err < 0 ? err : -EIO; > + err = 0; Isn't it simpler to make the function return 0 instead of err at the end? > > if (ctrl[0] & RX8010_FLAG_VLF) > dev_warn(&client->dev, "Frequency stop was detected\n"); > @@ -261,6 +262,7 @@ static int rx8010_read_alarm(struct device *dev, struct rtc_wkalrm *t) > err = i2c_smbus_read_i2c_block_data(client, RX8010_ALMIN, 3, alarmvals); > if (err != 3) > return err < 0 ? err : -EIO; > + err = 0; ditto > > flagreg = i2c_smbus_read_byte_data(client, RX8010_FLAG); > if (flagreg < 0) > -- > 2.7.4 >
On Tue, Nov 7, 2017 at 9:30 PM, Alexandre Belloni <alexandre.belloni@free-electrons.com> wrote: > On 03/11/2017 at 13:32:41 -0400, Akshay Bhat wrote: >> if (err != 2) >> return err < 0 ? err : -EIO; >> + err = 0; > > Isn't it simpler to make the function return 0 instead of err at the end? Makes sense, fixed in v2 patch, thanks.
diff --git a/drivers/rtc/rtc-rx8010.c b/drivers/rtc/rtc-rx8010.c index 2e06e5f..1ce2078 100644 --- a/drivers/rtc/rtc-rx8010.c +++ b/drivers/rtc/rtc-rx8010.c @@ -223,6 +223,7 @@ static int rx8010_init_client(struct i2c_client *client) 2, ctrl); if (err != 2) return err < 0 ? err : -EIO; + err = 0; if (ctrl[0] & RX8010_FLAG_VLF) dev_warn(&client->dev, "Frequency stop was detected\n"); @@ -261,6 +262,7 @@ static int rx8010_read_alarm(struct device *dev, struct rtc_wkalrm *t) err = i2c_smbus_read_i2c_block_data(client, RX8010_ALMIN, 3, alarmvals); if (err != 3) return err < 0 ? err : -EIO; + err = 0; flagreg = i2c_smbus_read_byte_data(client, RX8010_FLAG); if (flagreg < 0)
The err variable is not being reset after a successful read. Explicitly reset err variable to account for all return paths. Reported-by: Jens-Peter Oswald <oswald@lre.de> Signed-off-by: Akshay Bhat <akshay.bhat@timesys.com> --- drivers/rtc/rtc-rx8010.c | 2 ++ 1 file changed, 2 insertions(+)