diff options
author | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2016-11-03 12:43:09 +0000 |
---|---|---|
committer | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2016-11-03 12:43:09 +0000 |
commit | e1d8e5357927f0748fef013fb4bddebe781c60a8 (patch) | |
tree | 389cb8d73a94f53adc36d690fb8336d29cca55ea /demos/AVR/RT-TEENSY2-USB/usbcfg.c | |
parent | 13537cb7240240e6c7f915aa4d2aa6772034003b (diff) | |
download | ChibiOS-e1d8e5357927f0748fef013fb4bddebe781c60a8.tar.gz ChibiOS-e1d8e5357927f0748fef013fb4bddebe781c60a8.tar.bz2 ChibiOS-e1d8e5357927f0748fef013fb4bddebe781c60a8.zip |
Tentative USB suspend fix.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@9898 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'demos/AVR/RT-TEENSY2-USB/usbcfg.c')
-rw-r--r-- | demos/AVR/RT-TEENSY2-USB/usbcfg.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/demos/AVR/RT-TEENSY2-USB/usbcfg.c b/demos/AVR/RT-TEENSY2-USB/usbcfg.c index 5c20ee7d9..979161ae5 100644 --- a/demos/AVR/RT-TEENSY2-USB/usbcfg.c +++ b/demos/AVR/RT-TEENSY2-USB/usbcfg.c @@ -248,8 +248,6 @@ static void usb_event(USBDriver *usbp, usbevent_t event) { extern SerialUSBDriver SDU1; switch (event) { - case USB_EVENT_RESET: - return; case USB_EVENT_ADDRESS: return; case USB_EVENT_CONFIGURED: @@ -267,17 +265,25 @@ static void usb_event(USBDriver *usbp, usbevent_t event) { chSysUnlockFromISR(); return; + case USB_EVENT_RESET: + /* Falls into.*/ case USB_EVENT_UNCONFIGURED: - return; + /* Falls into.*/ case USB_EVENT_SUSPEND: chSysLockFromISR(); /* Disconnection event on suspend.*/ - sduDisconnectI(&SDU1); + sduSuspendHookI(&SDU1); chSysUnlockFromISR(); return; case USB_EVENT_WAKEUP: + chSysLockFromISR(); + + /* Disconnection event on suspend.*/ + sduWakeupHookI(&SDU1); + + chSysUnlockFromISR(); return; case USB_EVENT_STALLED: return; |