[PATCH 08/28] mfd: nct6694: Do not resubmit interrupt URB on endpoint stall (-EPIPE)
From: Lee Jones
Date: Wed Oct 21 2026 - 08:18:07 EST
If the USB interrupt IN endpoint stalls (-EPIPE), usb_int_callback()
falls through to the default case and immediately resubmits the URB from
atomic completion context. Because a stalled endpoint completes newly
submitted URBs immediately with -EPIPE, this triggers a tight infinite
resubmission loop.
Treat -EPIPE as a terminal URB status in usb_int_callback() alongside
the existing teardown status codes, matching other USB MFD drivers.
Fixes: 51dad33ede63 ("mfd: Add core driver for Nuvoton NCT6694")
Closes: https://sashiko.dev/#/bug/linux-9d8d1902-140d-4559-b604-76ba76e778a2
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Lee Jones <lee@xxxxxxxxxx>
---
drivers/mfd/nct6694.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/mfd/nct6694.c b/drivers/mfd/nct6694.c
index e2957e587d1b..40a29f8e0ff6 100644
--- a/drivers/mfd/nct6694.c
+++ b/drivers/mfd/nct6694.c
@@ -201,6 +201,7 @@ static void usb_int_callback(struct urb *urb)
break;
case -ECONNRESET:
case -ENOENT:
+ case -EPIPE:
case -ESHUTDOWN:
return;
default:
--
2.56.0.218.g1ec904b173-goog