usb: gadget: f_midi: fix error recovery path
In case kstrdup() fails the resources to release are midi->in_port[] and midi. No cards have been registered, so no need to unregister any. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
543aa4867d
commit
b2e2c94b87
1 changed files with 1 additions and 3 deletions
|
@ -1145,7 +1145,7 @@ static struct usb_function *f_midi_alloc(struct usb_function_instance *fi)
|
||||||
if (opts->id && !midi->id) {
|
if (opts->id && !midi->id) {
|
||||||
status = -ENOMEM;
|
status = -ENOMEM;
|
||||||
mutex_unlock(&opts->lock);
|
mutex_unlock(&opts->lock);
|
||||||
goto kstrdup_fail;
|
goto setup_fail;
|
||||||
}
|
}
|
||||||
midi->in_ports = opts->in_ports;
|
midi->in_ports = opts->in_ports;
|
||||||
midi->out_ports = opts->out_ports;
|
midi->out_ports = opts->out_ports;
|
||||||
|
@ -1164,8 +1164,6 @@ static struct usb_function *f_midi_alloc(struct usb_function_instance *fi)
|
||||||
|
|
||||||
return &midi->func;
|
return &midi->func;
|
||||||
|
|
||||||
kstrdup_fail:
|
|
||||||
f_midi_unregister_card(midi);
|
|
||||||
setup_fail:
|
setup_fail:
|
||||||
for (--i; i >= 0; i--)
|
for (--i; i >= 0; i--)
|
||||||
kfree(midi->in_port[i]);
|
kfree(midi->in_port[i]);
|
||||||
|
|
Loading…
Add table
Reference in a new issue