usb: gadget: storage_common: use kstrto*() [bug fix]
authorMichal Nazarewicz <mina86@mina86.com>
Thu, 14 Apr 2011 09:55:43 +0000 (11:55 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sat, 30 Apr 2011 00:24:36 +0000 (17:24 -0700)
This commit fixes an embarrassing bug in the "storage_common:
use kstrto*()" patch which caused fsg_store_ro() to return
zero instead of the length of the consumed buffer.

Signed-off-by: Michal Nazarewicz <mina86@mina86.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/gadget/storage_common.c

index 109635a..1fa4f70 100644 (file)
@@ -708,7 +708,7 @@ static ssize_t fsg_show_file(struct device *dev, struct device_attribute *attr,
 static ssize_t fsg_store_ro(struct device *dev, struct device_attribute *attr,
                            const char *buf, size_t count)
 {
-       ssize_t         rc = count;
+       ssize_t         rc;
        struct fsg_lun  *curlun = fsg_lun_from_dev(dev);
        struct rw_semaphore     *filesem = dev_get_drvdata(dev);
        unsigned        ro;
@@ -729,6 +729,7 @@ static ssize_t fsg_store_ro(struct device *dev, struct device_attribute *attr,
                curlun->ro = ro;
                curlun->initially_ro = ro;
                LDBG(curlun, "read-only status set to %d\n", curlun->ro);
+               rc = count;
        }
        up_read(filesem);
        return rc;