From: Miaoqian Lin <[email protected]>

[ Upstream commit fa0ef93868a6062babe1144df2807a8b1d4924d2 ]

Add the missing platform_device_put() before return from
dwc3_qcom_acpi_register_core in the error handling case.

Signed-off-by: Miaoqian Lin <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: Harish H <[email protected]>
---
 drivers/usb/dwc3/dwc3-qcom.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
index db3559a10207..643643e3c5f2 100644
--- a/drivers/usb/dwc3/dwc3-qcom.c
+++ b/drivers/usb/dwc3/dwc3-qcom.c
@@ -622,8 +622,10 @@ static int dwc3_qcom_acpi_register_core(struct 
platform_device *pdev)
        qcom->dwc3->dev.coherent_dma_mask = dev->coherent_dma_mask;
 
        child_res = kcalloc(2, sizeof(*child_res), GFP_KERNEL);
-       if (!child_res)
+       if (!child_res) {
+               platform_device_put(qcom->dwc3);
                return -ENOMEM;
+       }
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        if (!res) {
@@ -659,10 +661,14 @@ static int dwc3_qcom_acpi_register_core(struct 
platform_device *pdev)
        }
 
        ret = platform_device_add(qcom->dwc3);
-       if (ret)
+       if (ret) {
                dev_err(&pdev->dev, "failed to add device\n");
-
+               goto out;
+       }
+       kfree(child_res);
+       return 0;
 out:
+       platform_device_put(qcom->dwc3);
        kfree(child_res);
        return ret;
 }
-- 
2.40.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#14719): 
https://lists.yoctoproject.org/g/linux-yocto/message/14719
Mute This Topic: https://lists.yoctoproject.org/mt/110473436/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to