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

Message ID 20230404072524.19014-1-johan+linaro@kernel.org
Headers
Series USB: dwc3: error handling fixes and cleanups |

Message

Johan Hovold April 4, 2023, 7:25 a.m. UTC
  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(-)
  

Comments

Thinh Nguyen April 7, 2023, 2:09 a.m. UTC | #1
On Tue, Apr 04, 2023, Johan Hovold wrote:
> 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
> 

Thanks for the cleanup work. I've reviewed some patches, but still need
to spend some more time reviewing the runtime changes.

Thanks,
Thinh