| From e8f7f9e3499a6d96f7f63a4818dc7d0f45a7783b Mon Sep 17 00:00:00 2001 |
| From: Wei Yongjun <weiyongjun1@huawei.com> |
| Date: Thu, 7 May 2020 05:13:32 +0000 |
| Subject: usb: gadget: legacy: fix error return code in cdc_bind() |
| |
| From: Wei Yongjun <weiyongjun1@huawei.com> |
| |
| commit e8f7f9e3499a6d96f7f63a4818dc7d0f45a7783b upstream. |
| |
| If 'usb_otg_descriptor_alloc()' fails, we must return a |
| negative error code -ENOMEM, not 0. |
| |
| Fixes: ab6796ae9833 ("usb: gadget: cdc2: allocate and init otg descriptor by otg capabilities") |
| Reported-by: Hulk Robot <hulkci@huawei.com> |
| Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> |
| Signed-off-by: Felipe Balbi <balbi@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/usb/gadget/legacy/cdc2.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/usb/gadget/legacy/cdc2.c |
| +++ b/drivers/usb/gadget/legacy/cdc2.c |
| @@ -179,8 +179,10 @@ static int cdc_bind(struct usb_composite |
| 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; |