lkml.org 
[lkml]   [2021]   [Feb]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v7 1/3] usb: dwc3: qcom: Add missing DWC3 OF node refcount decrement
    Bjorn, Greg, Felippe, Andy,
    Any comments on this series? Bjorn, Greg you asked me to resend the
    patches related with the DW USB3 node name change. I did as you said,
    but no news since then. I'd be glad to have this patch accepted in
    some -next repo and forget about it.

    -Sergey

    On Fri, Feb 12, 2021 at 11:55:19PM +0300, Serge Semin wrote:
    > 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: a4333c3a6ba9 ("usb: dwc3: Add Qualcomm DWC3 glue driver")
    > Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
    >
    > ---
    >
    > Note the patch will get cleanly applied on the commit 2bc02355f8ba ("usb:
    > dwc3: qcom: Add support for booting with ACPI"), while the bug has been
    > there since the Qualcomm DWC3 glue driver was submitted.
    >
    > Changelog v7:
    > - This is a new patch. Please drop it If I missed something and the OF
    > node refcount decrement wasn't supposed to be there.
    > ---
    > drivers/usb/dwc3/dwc3-qcom.c | 9 ++++++---
    > 1 file changed, 6 insertions(+), 3 deletions(-)
    >
    > diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
    > index c703d552bbcf..3564d00cdce3 100644
    > --- a/drivers/usb/dwc3/dwc3-qcom.c
    > +++ b/drivers/usb/dwc3/dwc3-qcom.c
    > @@ -639,16 +639,19 @@ static int dwc3_qcom_of_register_core(struct platform_device *pdev)
    > ret = of_platform_populate(np, NULL, NULL, dev);
    > if (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);
    > if (!qcom->dwc3) {
    > + ret = -ENODEV;
    > dev_err(dev, "failed to get dwc3 platform device\n");
    > - return -ENODEV;
    > }
    >
    > - return 0;
    > +node_put:
    > + of_node_put(dwc3_np);
    > +
    > + return ret;
    > }
    >
    > static int dwc3_qcom_probe(struct platform_device *pdev)
    > --
    > 2.30.0
    >

    \
     
     \ /
      Last update: 2021-02-18 19:04    [W:3.154 / U:0.380 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site