[PATCH v3 0/3] usb: dwc3: xilinx: error path and teardown fixes

Radhey Shyam Pandey radhey.shyam.pandey at amd.com
Mon Sep 28 05:00:12 PDT 2026


dwc3-xilinx does not release what it acquires: system suspend exits the
USB3 PHY without powering it off, the ZynqMP init error paths leave the
core resets deasserted, and neither probe failure nor remove undoes the
reset and PHY state at all.  These three patches fix each in turn.

Changes in v3:
The usb_resets_released flag and the pltfm_exit pointer are gone.  The
teardown is now a devm_add_action_or_reset() action, guarded on usb3-phy
so it only undoes the reset cycle init performed, and invoked explicitly
before the clocks are gated on both the probe error path and remove, so
.shutdown gets it too.

Changes in v2:
Split out of a five patch series so the fixes can be sent and backported
on their own, and reordered ahead of the platform-data cleanups.  Patch
3 was reworked so it no longer depends on that cleanup, and all three
are tagged for stable.

All three are tagged for stable.
Tested on ZCU102: unbind and rebind cycle cleanly with the device
re-enumerating at SuperSpeed, and reboot is clean.

Link to v1:
https://lore.kernel.org/all/20260810174713.2325292-1-radhey.shyam.pandey@amd.com/
Link to v2:
https://lore.kernel.org/all/20260922182125.11067-1-radhey.shyam.pandey@amd.com/

Radhey Shyam Pandey (3):
  usb: dwc3: xilinx: fix system suspend and resume PHY handling
  usb: dwc3: xilinx: re-assert resets on ZynqMP init error paths
  usb: dwc3: xilinx: unwind ZynqMP platform init on probe failure and
    remove

 drivers/usb/dwc3/dwc3-xilinx.c | 123 +++++++++++++++++++++++++++------
 1 file changed, 100 insertions(+), 23 deletions(-)


base-commit: abc36cbda29d8f19cf3a580cd86ca9e865186a41
-- 
2.44.4




More information about the linux-arm-kernel mailing list