diff options
| author | jmark1m <[email protected]> | 2022-09-07 15:10:44 -0500 |
|---|---|---|
| committer | jmark1m <[email protected]> | 2022-09-07 15:10:44 -0500 |
| commit | 0931b52b66864ab680f1e5b52eb0c20d028f5558 (patch) | |
| tree | 90f0114b30c31430b41b811271c7aa432a29e5a8 /src | |
| parent | b624664f52df9454755a8a67518b2a11b06cfb8b (diff) | |
Fix bug #1628 by preventing shared irq slots for filling up
Diffstat (limited to 'src')
| -rw-r--r-- | src/portable/raspberrypi/rp2040/hcd_rp2040.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/portable/raspberrypi/rp2040/hcd_rp2040.c b/src/portable/raspberrypi/rp2040/hcd_rp2040.c index e9118c6a3..6ca992954 100644 --- a/src/portable/raspberrypi/rp2040/hcd_rp2040.c +++ b/src/portable/raspberrypi/rp2040/hcd_rp2040.c @@ -380,6 +380,9 @@ bool hcd_init(uint8_t rhport) // Force VBUS detect to always present, for now we assume vbus is always provided (without using VBUS En) usb_hw->pwr = USB_USB_PWR_VBUS_DETECT_BITS | USB_USB_PWR_VBUS_DETECT_OVERRIDE_EN_BITS; + // Remove shared irq if it was previously added so as not to fill up shared irq slots + irq_remove_handler(USBCTRL_IRQ, hcd_rp2040_irq); + irq_add_shared_handler(USBCTRL_IRQ, hcd_rp2040_irq, PICO_SHARED_IRQ_HANDLER_HIGHEST_ORDER_PRIORITY); // clear epx and interrupt eps |
