Messages in this thread Patch in this message | | | Date | Wed, 12 Feb 2014 00:07:55 +0300 | From | Dan Carpenter <> | Subject | [patch v2] w1: small type cleanup in sysfs |
| |
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> --- v2: clarified the commit message
diff --git a/drivers/w1/w1.c b/drivers/w1/w1.c index 9eb816b2ea5e..b96f61b15dc6 100644 --- a/drivers/w1/w1.c +++ b/drivers/w1/w1.c @@ -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);
| |