Commit 1cffb1c6 authored by Serge Semin's avatar Serge Semin Committed by Greg Kroah-Hartman

usb: dwc3: qcom: Add missing DWC3 OF node refcount decrement

of_get_child_by_name() increments the reference counter of the OF node it
managed to find. So after the code is done using the device node, the
refcount must be decremented. Add missing of_node_put() invocation then
to the dwc3_qcom_of_register_core() method, since DWC3 OF node is being
used only there.

Fixes: a4333c3a ("usb: dwc3: Add Qualcomm DWC3 glue driver")
Signed-off-by: default avatarSerge Semin <Sergey.Semin@baikalelectronics.ru>
Link: https://lore.kernel.org/r/20210212205521.14280-1-Sergey.Semin@baikalelectronics.ru
Cc: stable <stable@vger.kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 9de2c43a
...@@ -653,16 +653,19 @@ static int dwc3_qcom_of_register_core(struct platform_device *pdev) ...@@ -653,16 +653,19 @@ static int dwc3_qcom_of_register_core(struct platform_device *pdev)
ret = of_platform_populate(np, NULL, NULL, dev); ret = of_platform_populate(np, NULL, NULL, dev);
if (ret) { if (ret) {
dev_err(dev, "failed to register dwc3 core - %d\n", ret); dev_err(dev, "failed to register dwc3 core - %d\n", ret);
return ret; goto node_put;
} }
qcom->dwc3 = of_find_device_by_node(dwc3_np); qcom->dwc3 = of_find_device_by_node(dwc3_np);
if (!qcom->dwc3) { if (!qcom->dwc3) {
ret = -ENODEV;
dev_err(dev, "failed to get dwc3 platform device\n"); dev_err(dev, "failed to get dwc3 platform device\n");
return -ENODEV;
} }
return 0; node_put:
of_node_put(dwc3_np);
return ret;
} }
static struct platform_device * static struct platform_device *
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment