git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/stable_16.1.x@10070 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
Giovanni Di Sirio 2017-01-30 11:11:11 +00:00
parent fc013e06c0
commit 792a9e24b6
2 changed files with 34 additions and 2 deletions

View File

@ -609,11 +609,25 @@ static void usb_lld_serve_interrupt(USBDriver *usbp) {
otg_epin_handler(usbp, 2);
if (src & (1 << 3))
otg_epin_handler(usbp, 3);
#if STM32_USB_USE_OTG2
#if USB_MAX_ENDPOINTS >= 4
if (src & (1 << 4))
otg_epin_handler(usbp, 4);
#endif
#if USB_MAX_ENDPOINTS >= 5
if (src & (1 << 5))
otg_epin_handler(usbp, 5);
#endif
#if USB_MAX_ENDPOINTS >= 6
if (src & (1 << 6))
otg_epin_handler(usbp, 6);
#endif
#if USB_MAX_ENDPOINTS >= 7
if (src & (1 << 7))
otg_epin_handler(usbp, 7);
#endif
#if USB_MAX_ENDPOINTS >= 8
if (src & (1 << 8))
otg_epin_handler(usbp, 8);
#endif
}
if (sts & GINTSTS_OEPINT) {
@ -625,11 +639,25 @@ static void usb_lld_serve_interrupt(USBDriver *usbp) {
otg_epout_handler(usbp, 2);
if (src & (1 << 19))
otg_epout_handler(usbp, 3);
#if STM32_USB_USE_OTG2
#if USB_MAX_ENDPOINTS >= 4
if (src & (1 << 20))
otg_epout_handler(usbp, 4);
#endif
#if USB_MAX_ENDPOINTS >= 5
if (src & (1 << 21))
otg_epout_handler(usbp, 5);
#endif
#if USB_MAX_ENDPOINTS >= 6
if (src & (1 << 22))
otg_epout_handler(usbp, 6);
#endif
#if USB_MAX_ENDPOINTS >= 7
if (src & (1 << 23))
otg_epout_handler(usbp, 7);
#endif
#if USB_MAX_ENDPOINTS >= 8
if (src & (1 << 24))
otg_epout_handler(usbp, 8);
#endif
}
}

View File

@ -72,6 +72,10 @@
*** Releases and Change Log ***
*****************************************************************************
*** 16.1.8 ***
- HAL: Fixed STM32 OTGv1 driver not serving interrupts for endpoints > 5
(bug #816).
*** 16.1.7 ***
- VAR: Fixed BYTE_ORDER redefined in lwip_bindings/arch/cc.h (bug #814).
- HAL: Fixed setting alternate mode in STM32 GPIOv3 and GPIOv3 drivers can fail