diff --git a/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.c b/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.c index 0357d1855..0b20805e0 100644 --- a/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.c +++ b/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.c @@ -140,6 +140,7 @@ static void otg_core_reset(USBDriver *usbp) { /* Core reset and delay of at least 3 PHY cycles.*/ otgp->GRSTCTL = GRSTCTL_CSRST; + osalSysPolledDelayX(12); while ((otgp->GRSTCTL & GRSTCTL_CSRST) != 0) ; diff --git a/readme.txt b/readme.txt index 49f38705c..9ee1d43db 100644 --- a/readme.txt +++ b/readme.txt @@ -184,6 +184,8 @@ - EX: Updated LIS302DL to 1.1.0 (backported to 18.2.1). - EX: Updated LPS25H to 1.1.0 (backported to 18.2.1). - EX: Updated LSM303DLHC to 1.1.0 (backported to 18.2.1). +- HAL: Fixed timing problem in STM32 OTGv1 driver (bug #996) + (backported to 18.2.2 and 17.6.5). - HAL: Fixed restrictive check in MMC-SPI driver (bug #995) (backported to 18.2.2 and 17.6.5). - HAL: Fixed misplaced check in STM32 ST driver (bug #994)