Re: [PATCH RESEND] xhci: Keep interrupt disabled in initialization until host is running.

From: Prashanth K
Date: Wed Oct 11 2023 - 02:25:13 EST




On 10-10-23 04:48 pm, Greg Kroah-Hartman wrote:
On Tue, Oct 10, 2023 at 02:34:44PM +0530, Prashanth K wrote:


On 09-10-23 06:22 pm, Greg Kroah-Hartman wrote:
On Mon, Oct 09, 2023 at 04:09:26PM +0530, Prashanth K wrote:
From: Hongyu Xie <xy521521@xxxxxxxxx>

[ Upstream commit a808925075fb750804a60ff0710614466c396db4 ]

irq is disabled in xhci_quiesce(called by xhci_halt, with bit:2 cleared
in USBCMD register), but xhci_run(called by usb_add_hcd) re-enable it.
It's possible that you will receive thousands of interrupt requests
after initialization for 2.0 roothub. And you will get a lot of
warning like, "xHCI dying, ignoring interrupt. Shouldn't IRQs be
disabled?". This amount of interrupt requests will cause the entire
system to freeze.
This problem was first found on a device with ASM2142 host controller
on it.

[tidy up old code while moving it, reword header -Mathias]

Cc: stable@xxxxxxxxxx
Signed-off-by: Hongyu Xie <xiehongyu1@xxxxxxxxxx>
Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx>
Link: https://lore.kernel.org/r/20220623111945.1557702-2-mathias.nyman@xxxxxxxxxxxxxxx
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # 5.15
Signed-off-by: Prashanth K <quic_prashk@xxxxxxxxxxx>
---

Any specific reason you missed adding the extra blank line in this
version of the backport that the original added? That is going to cause
problems in the future if other patches are added on top of this that
would be expecting it because it is that way in Linus's tree.


Thanks for pointing out, i removed it while resolving some merge conflicts.
Will add it back in next version.

And why is this only relevant for 5.15.y?

I'm not really sure why this was only ported from 5.19 onwards and not
present in older kernels (could be because of dependencies/conflicts).

But anyways im backporting it to 5.15 since an irq storm was seen on a qcom
SOC working on 5.15, and this patch is helping solve it.

Should I change the CC to just stable kernel (without mentioning kernel
version) ?
something like this -- Cc: <stable@xxxxxxxxxxxxxxx>

No, let us know what kernel version this is to be applied to so we know,
if you only think this is relevant for 5.15.y as you have tested it
there, that's fine, I just wanted to be sure.

We tested it on 5.15 for over 20 hours and didn't see any issue. Will send a new patch after adding the newline.

Thanks,
Prashanth K