diff --git a/drivers/usb/gadget/f_subset.c b/drivers/usb/gadget/f_subset.c index fbc7a24942e4a2335bf65b6972c856a27dfd4443..5601e1d96c4fabd7f8a44bc80703080495fba56a 100644 --- a/drivers/usb/gadget/f_subset.c +++ b/drivers/usb/gadget/f_subset.c @@ -548,6 +548,7 @@ static struct usb_function *geth_alloc(struct usb_function_instance *fi) sizeof(geth->ethaddr)); if (status < 12) { kfree(geth); + mutex_unlock(&opts->lock); return ERR_PTR(-EINVAL); } geth_string_defs[1].s = geth->ethaddr;