diff --git a/[refs] b/[refs] index 1552fd696604..1050b79b9e24 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0889551267e7b6b4d27dc9f726f3d0cb0d976105 +refs/heads/master: 0f8fd43c42f2cc249943be76a4db0d058c16b6dc diff --git a/trunk/drivers/usb/gadget/f_midi.c b/trunk/drivers/usb/gadget/f_midi.c index ef1bc7a174ef..67b222908cf9 100644 --- a/trunk/drivers/usb/gadget/f_midi.c +++ b/trunk/drivers/usb/gadget/f_midi.c @@ -951,7 +951,7 @@ int __init f_midi_bind_config(struct usb_configuration *c, struct gmidi_in_port *port = kzalloc(sizeof(*port), GFP_KERNEL); if (!port) { status = -ENOMEM; - goto fail; + goto setup_fail; } port->midi = midi; @@ -989,6 +989,8 @@ int __init f_midi_bind_config(struct usb_configuration *c, return 0; setup_fail: + for (--i; i >= 0; i--) + kfree(midi->in_port[i]); kfree(midi); fail: return status;