File tree Expand file tree Collapse file tree 4 files changed +13
-9
lines changed Expand file tree Collapse file tree 4 files changed +13
-9
lines changed Original file line number Diff line number Diff line change @@ -184,6 +184,7 @@ STATIC void stop_mp(void) {
184
184
#endif
185
185
186
186
background_callback_reset ();
187
+ usb_background_schedule ();
187
188
188
189
gc_deinit ();
189
190
}
Original file line number Diff line number Diff line change @@ -105,9 +105,6 @@ void background_callback_end_critical_section() {
105
105
CALLBACK_CRITICAL_END ;
106
106
}
107
107
108
- extern background_callback_t usb_callback ;
109
- extern void usb_background_do (void * unused );
110
-
111
108
void background_callback_reset () {
112
109
CALLBACK_CRITICAL_BEGIN ;
113
110
background_callback_t * cb = (background_callback_t * )callback_head ;
@@ -120,8 +117,6 @@ void background_callback_reset() {
120
117
callback_tail = NULL ;
121
118
in_background_callback = false;
122
119
CALLBACK_CRITICAL_END ;
123
-
124
- background_callback_add (& usb_callback , usb_background_do , NULL );
125
120
}
126
121
127
122
void background_callback_gc_collect (void ) {
Original file line number Diff line number Diff line change @@ -93,16 +93,21 @@ void usb_background(void) {
93
93
}
94
94
}
95
95
96
- /* static*/ background_callback_t usb_callback ;
97
- /* static*/ void usb_background_do (void * unused ) {
96
+ static background_callback_t usb_callback ;
97
+ static void usb_background_do (void * unused ) {
98
98
usb_background ();
99
99
}
100
100
101
- void usb_irq_handler (void ) {
102
- tud_int_handler ( 0 ); \
101
+ void usb_background_schedule (void )
102
+ {
103
103
background_callback_add (& usb_callback , usb_background_do , NULL );
104
104
}
105
105
106
+ void usb_irq_handler (void ) {
107
+ tud_int_handler (0 );
108
+ usb_background_schedule ();
109
+ }
110
+
106
111
//--------------------------------------------------------------------+
107
112
// tinyusb callbacks
108
113
//--------------------------------------------------------------------+
Original file line number Diff line number Diff line change 35
35
// it may be necessary to call it directly.
36
36
void usb_background (void );
37
37
38
+ // Schedule usb background
39
+ void usb_background_schedule (void );
40
+
38
41
// Ports must call this from their particular USB IRQ handler
39
42
void usb_irq_handler (void );
40
43
You can’t perform that action at this time.
0 commit comments