diff options
Diffstat (limited to 'drivers/misc/isl29020.c')
| -rw-r--r-- | drivers/misc/isl29020.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/misc/isl29020.c b/drivers/misc/isl29020.c index 34fe835921c4..ca47e6285075 100644 --- a/drivers/misc/isl29020.c +++ b/drivers/misc/isl29020.c | |||
| @@ -87,7 +87,7 @@ static ssize_t als_sensing_range_store(struct device *dev, | |||
| 87 | struct device_attribute *attr, const char *buf, size_t count) | 87 | struct device_attribute *attr, const char *buf, size_t count) |
| 88 | { | 88 | { |
| 89 | struct i2c_client *client = to_i2c_client(dev); | 89 | struct i2c_client *client = to_i2c_client(dev); |
| 90 | unsigned int ret_val; | 90 | int ret_val; |
| 91 | unsigned long val; | 91 | unsigned long val; |
| 92 | 92 | ||
| 93 | if (strict_strtoul(buf, 10, &val)) | 93 | if (strict_strtoul(buf, 10, &val)) |
| @@ -106,6 +106,8 @@ static ssize_t als_sensing_range_store(struct device *dev, | |||
| 106 | val = 4; | 106 | val = 4; |
| 107 | 107 | ||
| 108 | ret_val = i2c_smbus_read_byte_data(client, 0x00); | 108 | ret_val = i2c_smbus_read_byte_data(client, 0x00); |
| 109 | if (ret_val < 0) | ||
| 110 | return ret_val; | ||
| 109 | 111 | ||
| 110 | ret_val &= 0xFC; /*reset the bit before setting them */ | 112 | ret_val &= 0xFC; /*reset the bit before setting them */ |
| 111 | ret_val |= val - 1; | 113 | ret_val |= val - 1; |
