[PATCH 5.12 024/700] usb: dwc3: Fix debugfs creation flow

From: Greg Kroah-Hartman
Date: Mon Jul 12 2021 - 03:19:58 EST


From: Minas Harutyunyan <Minas.Harutyunyan@xxxxxxxxxxxx>

commit 84524d1232ecca7cf8678e851b254f05cff4040a upstream.

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@xxxxxxxxxxxxxxx>
Reviewed-by: Jack Pham <jackp@xxxxxxxxxxxxxx>
Signed-off-by: Minas Harutyunyan <Minas.Harutyunyan@xxxxxxxxxxxx>
Link: https://lore.kernel.org/r/01fafb5b2d8335e98e6eadbac61fc796bdf3ec1a.1623948457.git.Minas.Harutyunyan@xxxxxxxxxxxx
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
drivers/usb/dwc3/core.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -1605,17 +1605,18 @@ static int dwc3_probe(struct platform_de
}

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);