misc/isl29020: signedness bug in als_sensing_range_store()
Subsystems (2)
PATCH 1/1 misc/isl29020: signedness bug in als_sensing_range_store()
"ret_val" is supposed to be signed here or the error handling breaks. Also we should check the return value from i2c_smbus_read_byte_data().
Signed-off-by Dan Carpenter <[email protected]>
drivers/misc/isl29020.c +3 -1
@@ -87,7 +87,7 @@ static ssize_t als_sensing_range_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) { struct i2c_client *client = to_i2c_client(dev); -unsigned int ret_val; +int ret_val;unsigned long val;if (strict_strtoul (buf,10 , &val))
@@ -106,6 +106,8 @@ static ssize_t als_sensing_range_store(struct device *dev, val =4 ; ret_val =i2c_smbus_read_byte_data (client,0x00 ); +if (ret_val <0 ) +return ret_val; ret_val &=0xFC ;/*reset the bit before setting them */ ret_val |= val -1 ;
Quoted 1 line · On Thu, 28 Oct 2010 06:40:37 +0200 Dan Carpenter <[email protected]> wrote:
misc/isl29020: signedness bug in
als_sensing_range_store()
Thanks - added to my tree