From e692fa9ae4b6c8ff7b66dedbecaf745ae2166851 Mon Sep 17 00:00:00 2001 From: Liam Fraser Date: Fri, 5 Nov 2021 09:39:31 +0000 Subject: [PATCH] RP2040 HCD: Move invalid ep->active assert in hw_trans_complete. The check for ep->active should only happen if a setup packet was just sent. Otherwise the transaction is handled in hw_handle_buff_status. --- src/portable/raspberrypi/rp2040/hcd_rp2040.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/portable/raspberrypi/rp2040/hcd_rp2040.c b/src/portable/raspberrypi/rp2040/hcd_rp2040.c index 627e957e8..768cccc86 100644 --- a/src/portable/raspberrypi/rp2040/hcd_rp2040.c +++ b/src/portable/raspberrypi/rp2040/hcd_rp2040.c @@ -160,12 +160,11 @@ static void hw_handle_buff_status(void) static void hw_trans_complete(void) { - struct hw_endpoint *ep = &epx; - assert(ep->active); - if (usb_hw->sie_ctrl & USB_SIE_CTRL_SEND_SETUP_BITS) { pico_trace("Sent setup packet\n"); + struct hw_endpoint *ep = &epx; + assert(ep->active); hw_xfer_complete(ep, XFER_RESULT_SUCCESS); } else