usg: gadget: Move validation out of lock in webusb_bcdVersion_store()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 27 Jan 2023 11:26:38 +0000 (13:26 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 31 Jan 2023 09:37:51 +0000 (10:37 +0100)
Validation has nothing to do with any protected data,
move it out of the lock and make code neater.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20230127112638.84806-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/configfs.c

index 63dc15b..1346b33 100644 (file)
@@ -836,19 +836,15 @@ static ssize_t webusb_bcdVersion_store(struct config_item *item,
        if (ret)
                return ret;
 
-       mutex_lock(&gi->lock);
-
        ret = is_valid_bcd(bcdVersion);
        if (ret)
-               goto out;
+               return ret;
 
+       mutex_lock(&gi->lock);
        gi->bcd_webusb_version = bcdVersion;
-       ret = len;
-
-out:
        mutex_unlock(&gi->lock);
 
-       return ret;
+       return len;
 }
 
 static ssize_t webusb_bVendorCode_show(struct config_item *item, char *page)