[-next] usb: cdnsp: fix error return code in cdnsp_alloc_priv_device()

Message ID 20210617143103.2175477-1-yangyingliang@huawei.com
State New
Headers show
Series
  • [-next] usb: cdnsp: fix error return code in cdnsp_alloc_priv_device()
Related show

Commit Message

Yang Yingliang June 17, 2021, 2:31 p.m.
If cdnsp_ring_alloc() fails, cdnsp_alloc_priv_device() need return
error code.

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
---
 drivers/usb/cdns3/cdnsp-mem.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Pawel Laszczak June 18, 2021, 4:14 a.m. | #1
>

>If cdnsp_ring_alloc() fails, cdnsp_alloc_priv_device() need return

>error code.

>

>Reported-by: Hulk Robot <hulkci@huawei.com>

>Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>


Acked-by: Pawel Laszczak <pawell@cadence.com>


Thanks.

>---

> drivers/usb/cdns3/cdnsp-mem.c | 4 +++-

> 1 file changed, 3 insertions(+), 1 deletion(-)

>

>diff --git a/drivers/usb/cdns3/cdnsp-mem.c b/drivers/usb/cdns3/cdnsp-mem.c

>index a47948a1623f..c87bf3513844 100644

>--- a/drivers/usb/cdns3/cdnsp-mem.c

>+++ b/drivers/usb/cdns3/cdnsp-mem.c

>@@ -694,8 +694,10 @@ static int cdnsp_alloc_priv_device(struct cdnsp_device *pdev)

>

> 	/* Allocate endpoint 0 ring. */

> 	pdev->eps[0].ring = cdnsp_ring_alloc(pdev, 2, TYPE_CTRL, 0, GFP_ATOMIC);

>-	if (!pdev->eps[0].ring)

>+	if (!pdev->eps[0].ring) {

>+		ret = -ENOMEM;

> 		goto fail;

>+	}

>

> 	/* Point to output device context in dcbaa. */

> 	pdev->dcbaa->dev_context_ptrs[1] = cpu_to_le64(pdev->out_ctx.dma);

>--

>2.25.1


--

Regards,
Pawel Laszczak

Patch

diff --git a/drivers/usb/cdns3/cdnsp-mem.c b/drivers/usb/cdns3/cdnsp-mem.c
index a47948a1623f..c87bf3513844 100644
--- a/drivers/usb/cdns3/cdnsp-mem.c
+++ b/drivers/usb/cdns3/cdnsp-mem.c
@@ -694,8 +694,10 @@  static int cdnsp_alloc_priv_device(struct cdnsp_device *pdev)
 
 	/* Allocate endpoint 0 ring. */
 	pdev->eps[0].ring = cdnsp_ring_alloc(pdev, 2, TYPE_CTRL, 0, GFP_ATOMIC);
-	if (!pdev->eps[0].ring)
+	if (!pdev->eps[0].ring) {
+		ret = -ENOMEM;
 		goto fail;
+	}
 
 	/* Point to output device context in dcbaa. */
 	pdev->dcbaa->dev_context_ptrs[1] = cpu_to_le64(pdev->out_ctx.dma);