On Fri, 2024-09-20 at 08:17 +0000, Dmitry Torokhov wrote: > On Fri, Sep 20, 2024 at 09:22:52AM +0200, Nuno Sa via B4 Relay wrote: > > From: Nuno Sa <nuno.sa@xxxxxxxxxx> > > > > During adp5588_setup(), we read all the events to clear the event FIFO. > > However, adp5588_read() just calls i2c_smbus_read_byte_data() which > > returns the byte read in case everything goes well. Hence, we need to > > explicitly check for a negative error code instead of checking for > > something different than 0. > > > > Fixes: e960309ce318 ("Input: adp5588-keys - bail out on returned error") > > Signed-off-by: Nuno Sa <nuno.sa@xxxxxxxxxx> > > --- > > drivers/input/keyboard/adp5588-keys.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/input/keyboard/adp5588-keys.c > > b/drivers/input/keyboard/adp5588-keys.c > > index b5f4becf5cb6f..d25d63a807f23 100644 > > --- a/drivers/input/keyboard/adp5588-keys.c > > +++ b/drivers/input/keyboard/adp5588-keys.c > > @@ -620,7 +620,7 @@ static int adp5588_setup(struct adp5588_kpad *kpad) > > > > for (i = 0; i < KEYP_MAX_EVENT; i++) { > > ret = adp5588_read(client, KEY_EVENTA); > > - if (ret) > > + if (ret < 0) > > return ret; > > } > > Hmm... There are a bunch of places where we do not check result of > adp5588_read(). I wonder if we should: > > 1. add the checks > 2. change it to return error or 0 and return the value through a pointer > argument. It does make sense. I can take care of that. And similar work will be needed in the adp5589 driver. I'll include it in the series I'm preparing for the FW properties. - Nuno Sá