diff --git linux-libre-6.6.39-gnu/Makefile linux-libre-6.6.40-gnu/Makefile
index 52549b5eb6fc..6cb748fc3152 100644
--- linux-libre-6.6.39-gnu/Makefile
+++ linux-libre-6.6.40-gnu/Makefile
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 6
 PATCHLEVEL = 6
-SUBLEVEL = 39
+SUBLEVEL = 40
 EXTRAVERSION = -gnu
 NAME = Hurr durr I'ma ninja sloth
 
diff --git linux-libre-6.6.39-gnu/drivers/usb/host/xhci-ring.c linux-libre-6.6.40-gnu/drivers/usb/host/xhci-ring.c
index 592dabc78515..8dd85221cd92 100644
--- linux-libre-6.6.39-gnu/drivers/usb/host/xhci-ring.c
+++ linux-libre-6.6.40-gnu/drivers/usb/host/xhci-ring.c
@@ -2649,17 +2649,16 @@ static int handle_tx_event(struct xhci_hcd *xhci,
 			else
 				xhci_handle_halted_endpoint(xhci, ep, NULL,
 							    EP_SOFT_RESET);
-			break;
+			goto cleanup;
 		case COMP_RING_UNDERRUN:
 		case COMP_RING_OVERRUN:
 		case COMP_STOPPED_LENGTH_INVALID:
-			break;
+			goto cleanup;
 		default:
 			xhci_err(xhci, "ERROR Transfer event for unknown stream ring slot %u ep %u\n",
 				 slot_id, ep_index);
 			goto err_out;
 		}
-		return 0;
 	}
 
 	/* Count current td numbers if ep->skip is set */
