Recent sync with kernel changed usb_composite_probe to free resources on error as expected, so calling usb_composite_unregister on failed probe is now a double free. Fix that. Fixes: 14211ab8b0e1 ("usb: gadget: Update core to Linux-6.3-rc2") Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> --- drivers/usb/gadget/legacy/multi.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/usb/gadget/legacy/multi.c b/drivers/usb/gadget/legacy/multi.c index 7046a529b1db..ddb3d4158cd7 100644 --- a/drivers/usb/gadget/legacy/multi.c +++ b/drivers/usb/gadget/legacy/multi.c @@ -294,10 +294,8 @@ int usb_multi_register(struct f_multi_opts *opts) gadget_multi_opts = opts; ret = usb_composite_probe(&multi_driver); - if (ret) { - usb_composite_unregister(&multi_driver); + if (ret) gadget_multi_opts = NULL; - } return ret; } -- 2.39.2