Skip to content

Commit 627c5f5

Browse files
authored
Merge pull request #4327 from hathach/fix-4066-rp2040-hanged-tud_disconnect
fix rp2040 use of tud_disconnect
2 parents dca2989 + c26120a commit 627c5f5

File tree

2 files changed

+6
-12
lines changed

2 files changed

+6
-12
lines changed

lib/tinyusb

Submodule tinyusb updated 218 files

ports/raspberrypi/supervisor/usb.c

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -31,23 +31,17 @@
3131
#include "src/rp2_common/pico_platform/include/pico/platform.h"
3232
#include "src/rp2040/hardware_regs/include/hardware/regs/intctrl.h"
3333

34-
static background_callback_t usb_callback;
35-
static void usb_background_do(void* unused) {
36-
usb_background();
37-
}
38-
39-
static void queue_background(void) {
40-
background_callback_add(&usb_callback, usb_background_do, NULL);
41-
}
42-
4334
void init_usb_hardware(void) {
4435
}
4536

4637
void post_usb_init(void) {
38+
irq_set_enabled(USBCTRL_IRQ, false);
39+
4740
irq_handler_t usb_handler = irq_get_exclusive_handler(USBCTRL_IRQ);
4841
if (usb_handler) {
4942
irq_remove_handler(USBCTRL_IRQ, usb_handler);
50-
irq_add_shared_handler(USBCTRL_IRQ, usb_handler, PICO_DEFAULT_IRQ_PRIORITY);
5143
}
52-
irq_add_shared_handler(USBCTRL_IRQ, queue_background, PICO_LOWEST_IRQ_PRIORITY);
44+
irq_set_exclusive_handler(USBCTRL_IRQ, usb_irq_handler);
45+
46+
irq_set_enabled(USBCTRL_IRQ, true);
5347
}

0 commit comments

Comments
 (0)