mirror of
https://github.com/hathach/tinyusb.git
synced 2025-03-23 04:20:47 +00:00
remove unnecessary blocking operation.
add comments why resume event is sent manually.
This commit is contained in:
parent
3019c6eb40
commit
1ff3b76451
@ -553,7 +553,6 @@ void dcd_remote_wakeup(uint8_t rhport)
|
||||
{
|
||||
(void)rhport;
|
||||
USB0.DVSTCTR0.BIT.WKUP = 1;
|
||||
while (USB0.DVSTCTR0.BIT.WKUP) ;
|
||||
}
|
||||
|
||||
void dcd_connect(uint8_t rhport)
|
||||
@ -701,6 +700,11 @@ void dcd_int_handler(uint8_t rhport)
|
||||
}
|
||||
if (is0 & USB_IS0_SOFR) {
|
||||
if (_dcd.suspended) {
|
||||
/* When USB host resumes caused by `dcd_remote_wakeup()`,
|
||||
* RESM interrupt does not rise.
|
||||
* Therefore we need to manually send resume event.
|
||||
* Of course, when USB host resumes on its own,
|
||||
* RESM interrupt rise properly, then this statements are ignored. */
|
||||
dcd_event_bus_signal(rhport, DCD_EVENT_RESUME, true);
|
||||
_dcd.suspended = 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user