Showing error 1720

User: Jiri Slaby
Error type: Invalid Pointer Dereference
Error type description: A pointer which is invalid is being dereferenced
File location: drivers/hwmon/lm80.c
Line in file: 177
Project: Linux Kernel
Project version: 2.6.28
Tools: Smatch (1.59)
Entered: 2013-09-10 20:24:52 UTC


Source:

147
148static const struct i2c_device_id lm80_id[] = {
149        { "lm80", lm80 },
150        { }
151};
152MODULE_DEVICE_TABLE(i2c, lm80_id);
153
154static struct i2c_driver lm80_driver = {
155        .class                = I2C_CLASS_HWMON,
156        .driver = {
157                .name        = "lm80",
158        },
159        .probe                = lm80_probe,
160        .remove                = lm80_remove,
161        .id_table        = lm80_id,
162        .detect                = lm80_detect,
163        .address_data        = &addr_data,
164};
165
166/*
167 * Sysfs stuff
168 */
169
170#define show_in(suffix, value) \
171static ssize_t show_in_##suffix(struct device *dev, struct device_attribute *attr, char *buf) \
172{ \
173        int nr = to_sensor_dev_attr(attr)->index; \
174        struct lm80_data *data = lm80_update_device(dev); \
175        return sprintf(buf, "%d\n", IN_FROM_REG(data->value[nr])); \
176}
177show_in(min, in_min)
178show_in(max, in_max)
179show_in(input, in)
180
181#define set_in(suffix, value, reg) \
182static ssize_t set_in_##suffix(struct device *dev, struct device_attribute *attr, const char *buf, \
183        size_t count) \
184{ \
185        int nr = to_sensor_dev_attr(attr)->index; \
186        struct i2c_client *client = to_i2c_client(dev); \
187        struct lm80_data *data = i2c_get_clientdata(client); \
Show full sources