usb: gadget: FunctionFS: Use kstrtoul()
authorMichal Nazarewicz <mina86@mina86.com>
Wed, 9 Jan 2013 09:17:47 +0000 (10:17 +0100)
committerFelipe Balbi <balbi@ti.com>
Thu, 10 Jan 2013 10:42:14 +0000 (12:42 +0200)
kstrtoul() checks for overflow which simple_strtoul() does not pluss
it has “*end == 0” check in it as well.  As a side effect, a new
line character is now accepted, but this should not be an issue.

Signed-off-by: Michal Nazarewicz <mina86@mina86.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/gadget/f_fs.c

index 4a6961c..449186c 100644 (file)
@@ -1103,8 +1103,8 @@ static int ffs_fs_parse_opts(struct ffs_sb_fill_data *data, char *opts)
                return 0;
 
        for (;;) {
-               char *end, *eq, *comma;
                unsigned long value;
+               char *eq, *comma;
 
                /* Option limit */
                comma = strchr(opts, ',');
@@ -1120,8 +1120,7 @@ static int ffs_fs_parse_opts(struct ffs_sb_fill_data *data, char *opts)
                *eq = 0;
 
                /* Parse value */
-               value = simple_strtoul(eq + 1, &end, 0);
-               if (unlikely(*end != ',' && *end != 0)) {
+               if (kstrtoul(eq + 1, 0, &value)) {
                        pr_err("%s: invalid value: %s\n", opts, eq + 1);
                        return -EINVAL;
                }