w1: small type cleanup in sysfs
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 11 Feb 2014 21:07:55 +0000 (00:07 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 15 Feb 2014 19:51:05 +0000 (11:51 -0800)
On 64 bit systems, a large value for "long tmp" is truncated when
assigning to "int md->max_slave_count" so we still end up with a value
less than one despite the "tmp < 1" check.

This is more of a problem for static checkers than a real life issue,
but it's simple enough to fix.

Acked-by: David Fries <david@fries.net>
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/w1/w1.c

index 9eb816b2ea5e8615325abcf6682885e21d831a4f..b96f61b15dc65e866564a075686072eddc49f905 100644 (file)
@@ -320,10 +320,10 @@ static ssize_t w1_master_attribute_show_timeout(struct device *dev, struct devic
 static ssize_t w1_master_attribute_store_max_slave_count(struct device *dev,
        struct device_attribute *attr, const char *buf, size_t count)
 {
-       long tmp;
+       int tmp;
        struct w1_master *md = dev_to_w1_master(dev);
 
-       if (kstrtol(buf, 0, &tmp) == -EINVAL || tmp < 1)
+       if (kstrtoint(buf, 0, &tmp) == -EINVAL || tmp < 1)
                return -EINVAL;
 
        mutex_lock(&md->mutex);