usb: dwc3: Fix debugfs creation flow
authorMinas Harutyunyan <Minas.Harutyunyan@synopsys.com>
Thu, 17 Jun 2021 16:55:24 +0000 (09:55 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 21 Jun 2021 09:28:18 +0000 (11:28 +0200)
Creation EP's debugfs called earlier than debugfs folder for dwc3
device created. As result EP's debugfs are created in '/sys/kernel/debug'
instead of '/sys/kernel/debug/usb/dwc3.1.auto'.

Moved dwc3_debugfs_init() function call before calling
dwc3_core_init_mode() to allow create dwc3 debugfs parent before
creating EP's debugfs's.

Fixes: 8d396bb0a5b6 ("usb: dwc3: debugfs: Add and remove endpoint dirs dynamically")
Cc: stable <stable@vger.kernel.org>
Reviewed-by: Jack Pham <jackp@codeaurora.org>
Signed-off-by: Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
Link: https://lore.kernel.org/r/01fafb5b2d8335e98e6eadbac61fc796bdf3ec1a.1623948457.git.Minas.Harutyunyan@synopsys.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/dwc3/core.c

index e0a8e79..ba74ad7 100644 (file)
@@ -1620,17 +1620,18 @@ static int dwc3_probe(struct platform_device *pdev)
        }
 
        dwc3_check_params(dwc);
+       dwc3_debugfs_init(dwc);
 
        ret = dwc3_core_init_mode(dwc);
        if (ret)
                goto err5;
 
-       dwc3_debugfs_init(dwc);
        pm_runtime_put(dev);
 
        return 0;
 
 err5:
+       dwc3_debugfs_exit(dwc);
        dwc3_event_buffers_cleanup(dwc);
 
        usb_phy_shutdown(dwc->usb2_phy);