diff mbox series

usb: gadget: ether: Fix wrong return value of eth_bind()

Message ID 20201112134820.2257361-1-zhangxiaoxu5@huawei.com (mailing list archive)
State Accepted
Commit 3e1f4a2e1184ae6ad7f4caf682ced9554141a0f4
Headers show
Series usb: gadget: ether: Fix wrong return value of eth_bind() | expand

Commit Message

Zhang Xiaoxu Nov. 12, 2020, 1:48 p.m. UTC
If the otg descriptor allocate failed, we should return -ENOMEM,
rather than the 'status' from 'usb_string_ids_tab'.

Fixes: 9b95236eebdb ("usb: gadget: ether: allocate and init otg descriptor by otg capabilities")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Zhang Xiaoxu <zhangxiaoxu5@huawei.com>
---
 drivers/usb/gadget/legacy/ether.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Peter Chen Nov. 16, 2020, 2:03 p.m. UTC | #1
On 20-11-12 08:48:20, Zhang Xiaoxu wrote:
> If the otg descriptor allocate failed, we should return -ENOMEM,
> rather than the 'status' from 'usb_string_ids_tab'.
> 
> Fixes: 9b95236eebdb ("usb: gadget: ether: allocate and init otg descriptor by otg capabilities")
> Reported-by: Hulk Robot <hulkci@huawei.com>
> Signed-off-by: Zhang Xiaoxu <zhangxiaoxu5@huawei.com>

Reviewed-by: Peter Chen <peter.chen@nxp.com>

Peter
> ---
>  drivers/usb/gadget/legacy/ether.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/gadget/legacy/ether.c b/drivers/usb/gadget/legacy/ether.c
> index 30313b233680..99c7fc0d1d59 100644
> --- a/drivers/usb/gadget/legacy/ether.c
> +++ b/drivers/usb/gadget/legacy/ether.c
> @@ -403,8 +403,10 @@ static int eth_bind(struct usb_composite_dev *cdev)
>  		struct usb_descriptor_header *usb_desc;
>  
>  		usb_desc = usb_otg_descriptor_alloc(gadget);
> -		if (!usb_desc)
> +		if (!usb_desc) {
> +			status = -ENOMEM;
>  			goto fail1;
> +		}
>  		usb_otg_descriptor_init(gadget, usb_desc);
>  		otg_desc[0] = usb_desc;
>  		otg_desc[1] = NULL;
> -- 
> 2.25.4
>
diff mbox series

Patch

diff --git a/drivers/usb/gadget/legacy/ether.c b/drivers/usb/gadget/legacy/ether.c
index 30313b233680..99c7fc0d1d59 100644
--- a/drivers/usb/gadget/legacy/ether.c
+++ b/drivers/usb/gadget/legacy/ether.c
@@ -403,8 +403,10 @@  static int eth_bind(struct usb_composite_dev *cdev)
 		struct usb_descriptor_header *usb_desc;
 
 		usb_desc = usb_otg_descriptor_alloc(gadget);
-		if (!usb_desc)
+		if (!usb_desc) {
+			status = -ENOMEM;
 			goto fail1;
+		}
 		usb_otg_descriptor_init(gadget, usb_desc);
 		otg_desc[0] = usb_desc;
 		otg_desc[1] = NULL;