On Fri, Sep 02, 2011 at 12:24:13AM +0300, Maxin B. John wrote: > --- a/drivers/staging/iio/light/tsl2563.c > +++ b/drivers/staging/iio/light/tsl2563.c > @@ -225,9 +225,9 @@ static int tsl2563_read_id(struct tsl2563_chip *chip, u8 *id) > > ret = i2c_smbus_read_byte_data(client, TSL2563_CMD | TSL2563_REG_ID); > if (ret < 0) > - return ret; > + return -EIO; Don't overwrite the error code. For example, the lower layers can return -EAGAIN and that's more useful than just returning -EIO every time. Your fix works, but it's not very clean. Just add a "*id = ret;" line before the "return 0;" and that's it. (It doesn't make sense to pass a pointer to "id" and not use it). (In other words, don't make any changes to the tsl2563_probe() function) > > - return 0; > + return ret; > } > regards, dan carpenter _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel