2020-05-03 10:49:36

by Christophe JAILLET

[permalink] [raw]
Subject: [PATCH] usb: gadget: audio: Fix a missing error return value in audio_bind()

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")
Signed-off-by: Christophe JAILLET <[email protected]>
---
drivers/usb/gadget/legacy/audio.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/gadget/legacy/audio.c b/drivers/usb/gadget/legacy/audio.c
index dd81fd538cb8..a748ed0842e8 100644
--- a/drivers/usb/gadget/legacy/audio.c
+++ b/drivers/usb/gadget/legacy/audio.c
@@ -300,8 +300,10 @@ static int audio_bind(struct usb_composite_dev *cdev)
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;
--
2.25.1


2020-05-06 09:06:47

by Peter Chen

[permalink] [raw]
Subject: Re: [PATCH] usb: gadget: audio: Fix a missing error return value in audio_bind()

On 20-05-03 12:47:07, Christophe JAILLET wrote:
> 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")
> Signed-off-by: Christophe JAILLET <[email protected]>
> ---
> drivers/usb/gadget/legacy/audio.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/gadget/legacy/audio.c b/drivers/usb/gadget/legacy/audio.c
> index dd81fd538cb8..a748ed0842e8 100644
> --- a/drivers/usb/gadget/legacy/audio.c
> +++ b/drivers/usb/gadget/legacy/audio.c
> @@ -300,8 +300,10 @@ static int audio_bind(struct usb_composite_dev *cdev)
> 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;
> --
> 2.25.1
>

Reviewed-by: Peter Chen <[email protected]>

--

Thanks,
Peter Chen