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@xxxxxxxxxxxxxxx> --- drivers/usb/gadget/configfs.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/drivers/usb/gadget/configfs.c b/drivers/usb/gadget/configfs.c index 63dc15b4f6d8..1346b330b358 100644 --- a/drivers/usb/gadget/configfs.c +++ b/drivers/usb/gadget/configfs.c @@ -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) -- 2.39.0