summaryrefslogtreecommitdiff
path: root/firmware/usb.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/usb.c')
-rw-r--r--firmware/usb.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/firmware/usb.c b/firmware/usb.c
index 6823851e08..b8c9822ff6 100644
--- a/firmware/usb.c
+++ b/firmware/usb.c
@@ -270,6 +270,11 @@ void usb_signal_transfer_completion(
270 queue_post(&usb_queue, USB_TRANSFER_COMPLETION, (intptr_t)event_data); 270 queue_post(&usb_queue, USB_TRANSFER_COMPLETION, (intptr_t)event_data);
271} 271}
272 272
273void usb_signal_notify(long id, intptr_t data)
274{
275 queue_post(&usb_queue, id, data);
276}
277
273#else /* !HAVE_USBSTACK */ 278#else /* !HAVE_USBSTACK */
274 279
275static inline void usb_stack_enable(bool enable) 280static inline void usb_stack_enable(bool enable)
@@ -431,6 +436,12 @@ static void NORETURN_ATTR usb_thread(void)
431 /*** Main USB thread duties ***/ 436 /*** Main USB thread duties ***/
432 437
433#ifdef HAVE_USBSTACK 438#ifdef HAVE_USBSTACK
439 case USB_NOTIFY_SET_ADDR:
440 case USB_NOTIFY_SET_CONFIG:
441 if(usb_state <= USB_EXTRACTED)
442 break;
443 usb_core_handle_notify(ev.id, ev.data);
444 break;
434 case USB_TRANSFER_COMPLETION: 445 case USB_TRANSFER_COMPLETION:
435 if(usb_state <= USB_EXTRACTED) 446 if(usb_state <= USB_EXTRACTED)
436 break; 447 break;