diff --git a/drivers/usb/gadget/f_subset.c b/drivers/usb/gadget/f_subset.c index fbc7a24942e4..5601e1d96c4f 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;