Re: [PATCH v9] usb: dwc3: debugfs: Prevent any register access when devices is runtime suspended

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 5/8/23 5:04 PM, Johan Hovold wrote:
On Sat, May 06, 2023 at 01:30:52AM +0000, Thinh Nguyen wrote:

Udipto, looks like you just ignored my comment about fixing up the patch
Subject.

Hi Johan,

Apologies for this, i missed the comment on the Subject will rectify it.


On Fri, May 05, 2023, Udipto Goswami wrote:
When the dwc3 device is runtime suspended, various required clocks would
get disabled and it is not guaranteed that access to any registers would
work. Depending on the SoC glue, a register read could be as benign as
returning 0 or be fatal enough to hang the system.

In order to prevent such scenarios of fatal errors, make sure to resume
dwc3 then allow the function to proceed.

Fixes: 62ba09d6bb63 ("usb: dwc3: debugfs: Dump internal LSP and ep registers")

This fix goes before the above change.

Yes, this clearly is not the commit that first introduced this issue.

Either add a Fixes tag for the oldest one or add one for each commit
that introduced debugfs attributes with this issues.

This also touches on many places and is more than 100 lines. While this
is a fix, I'm not sure if Cc stable is needed. Perhaps others can
comment.

I believe this should be backported as it fixes a crash/hang.

The stable rules are flexible, but it may also be possible to break the
patch up in pieces and add a corresponding Fixes tag.

Agree, I will add a fixes tag for the oldest change that introduced the debugfs attributes instead of breaking it to multiple patches and adding fixes for each one. (I think the present code changes can stay in one patch as we are fixing the same issue in all the functions).

Let me know if you think otherwise?

Thanks,
-Udipto



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux