]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
usb: dwc3: dwc3-qcom: Add missing platform_device_put() in dwc3_qcom_acpi_register_core
authorMiaoqian Lin <linmq006@gmail.com>
Fri, 31 Dec 2021 11:36:41 +0000 (11:36 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 3 Jan 2022 13:38:14 +0000 (14:38 +0100)
Add the missing platform_device_put() before return from
dwc3_qcom_acpi_register_core in the error handling case.

Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Link: https://lore.kernel.org/r/20211231113641.31474-1-linmq006@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/dwc3/dwc3-qcom.c

index 3cb01cdd02c29870a540a06a0539b1d3adba7448..5257783f17b0ac314bc22d079eee369d76b9441b 100644 (file)
@@ -598,8 +598,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) {
@@ -637,9 +639,13 @@ static int dwc3_qcom_acpi_register_core(struct platform_device *pdev)
        if (ret) {
                dev_err(&pdev->dev, "failed to add device\n");
                device_remove_software_node(&qcom->dwc3->dev);
+               goto out;
        }
+       kfree(child_res);
+       return 0;
 
 out:
+       platform_device_put(qcom->dwc3);
        kfree(child_res);
        return ret;
 }