| From 19b94c1f9c9a16d41a8de3ccbdb8536cf1aecdbf Mon Sep 17 00:00:00 2001 |
| From: Christophe JAILLET <christophe.jaillet@wanadoo.fr> |
| Date: Sun, 3 May 2020 12:47:07 +0200 |
| Subject: usb: gadget: audio: Fix a missing error return value in audio_bind() |
| |
| From: Christophe JAILLET <christophe.jaillet@wanadoo.fr> |
| |
| commit 19b94c1f9c9a16d41a8de3ccbdb8536cf1aecdbf upstream. |
| |
| If 'usb_otg_descriptor_alloc()' fails, we must return an error code, not 0. |
| |
| Fixes: 56023ce0fd70 ("usb: gadget: audio: allocate and init otg descriptor by otg capabilities") |
| Reviewed-by: Peter Chen <peter.chen@nxp.com> |
| Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> |
| Signed-off-by: Felipe Balbi <balbi@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/usb/gadget/legacy/audio.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/usb/gadget/legacy/audio.c |
| +++ b/drivers/usb/gadget/legacy/audio.c |
| @@ -300,8 +300,10 @@ static int audio_bind(struct usb_composi |
| struct usb_descriptor_header *usb_desc; |
| |
| usb_desc = usb_otg_descriptor_alloc(cdev->gadget); |
| - if (!usb_desc) |
| + if (!usb_desc) { |
| + status = -ENOMEM; |
| goto fail; |
| + } |
| usb_otg_descriptor_init(cdev->gadget, usb_desc); |
| otg_desc[0] = usb_desc; |
| otg_desc[1] = NULL; |