Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f803e26b authored by Andrzej Pietrasiewicz's avatar Andrzej Pietrasiewicz Committed by Badhri Jagan Sridharan
Browse files

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.

BACKPORT FROM MAINLINE KERNEL

Signed-off-by: default avatarAndrzej Pietrasiewicz <andrzej.p@samsung.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
Change-Id: Idf14ca5aded888fe7c56d8b06763b009800827f5
parent 61ef7b1f
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -1145,7 +1145,7 @@ static struct usb_function *f_midi_alloc(struct usb_function_instance *fi)
	if (opts->id && !midi->id) {
		status = -ENOMEM;
		mutex_unlock(&opts->lock);
		goto kstrdup_fail;
		goto setup_fail;
	}
	midi->in_ports = opts->in_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;

kstrdup_fail:
	f_midi_unregister_card(midi);
setup_fail:
	for (--i; i >= 0; i--)
		kfree(midi->in_port[i]);