[PATCH 00/11] USB: dwc3: error handling fixes and cleanups

From: Johan Hovold
Date: Tue Apr 04 2023 - 03:26:28 EST


When reviewing the dwc3 runtime PM implementation I noticed that the
probe error handling and unbind code was broken. The first two patches
addresses the corresponding imbalances.

The probe error handling has suffered from some bit rot over years and
an attempt to clean it up lead to the realisation that the code dealing
with the "hibernation" feature was both broken and had never been used.
Rather than try to fix up something which has never been used since it
was first merged ten years ago, let's get rid of this dead code until
there is a mainline user (and a complete implementation).

The rest of the series clean up probe and core initialisation by using
descriptive error labels and adding a few helper functions to improve
readability which will hopefully help prevent similar bugs from being
introduced in the future.

Johan


Johan Hovold (11):
USB: dwc3: fix runtime pm imbalance on probe errors
USB: dwc3: fix runtime pm imbalance on unbind
USB: dwc3: disable autosuspend on unbind
USB: dwc3: gadget: drop dead hibernation code
USB: dwc3: drop dead hibernation code
USB: dwc3: clean up probe error labels
USB: dwc3: clean up phy init error handling
USB: dwc3: clean up core init error handling
USB: dwc3: refactor phy handling
USB: dwc3: refactor clock lookups
USB: dwc3: clean up probe declarations

drivers/usb/dwc3/core.c | 426 ++++++++++++++++----------------------
drivers/usb/dwc3/core.h | 8 -
drivers/usb/dwc3/gadget.c | 46 +---
3 files changed, 182 insertions(+), 298 deletions(-)

--
2.39.2