https://bugzilla.kernel.org/show_bug.cgi?id=219039 URL: https://github.com/torvalds/linux/commit/66cb618bf0bb8 2859875b00eeffaf223557cb416 Bug ID: 219039 Summary: kernel 6.6.39 freezes with QNAP DL-D800C usb case Product: Drivers Version: 2.5 Kernel Version: 6.6.39 Hardware: AMD OS: Linux Status: NEW Severity: normal Priority: P3 Component: USB Assignee: drivers_usb@xxxxxxxxxxxxxxxxxxxxxx Reporter: matthias@xxxxxxxxxxxxxx Regression: Yes Bisected 66cb618bf0bb82859875b00eeffaf223557cb416 commit-id: When I turn on my QNAP DL-D800C with 8 HD, the kernel 6.6.39 freezes immediately. kernels 6.6.38 and 6.6.37 are not doing that. I can reproduce with arch kernel linux-lts 6.6.39-1 and with linux66-tkg-eevdf-generic_v3 6.6.39-273.1 I identified commit 9a24eb8010c2dc6a2eba56e3eb9fc07d14ffe00a as the root cause: commit 9a24eb8010c2dc6a2eba56e3eb9fc07d14ffe00a Author: Niklas Neronin <niklas.neronin@xxxxxxxxxxxxxxx> Date: Mon Apr 29 17:02:37 2024 +0300 usb: xhci: prevent potential failure in handle_tx_event() for Transfer events without TRB [ Upstream commit 66cb618bf0bb82859875b00eeffaf223557cb416 ] Some transfer events don't always point to a TRB, and consequently don't have a endpoint ring. In these cases, function handle_tx_event() should not proceed, because if 'ep->skip' is set, the pointer to the endpoint ring is used. To prevent a potential failure and make the code logical, return after checking the completion code for a Transfer event without TRBs. Signed-off-by: Niklas Neronin <niklas.neronin@xxxxxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Link: https://lore.kernel.org/r/20240429140245.3955523-11-mathias.nyman@xxxxxxxxxxxxxxx Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx> When I revert that patch, the kernel does not freeze and everything is fine. -- You may reply to this email to add a comment. You are receiving this mail because: You are watching the assignee of the bug.