diff options
-rw-r--r-- | os/hal/ports/STM32/LLD/OTGv1/usb_lld.c | 2 | ||||
-rw-r--r-- | readme.txt | 2 | ||||
-rw-r--r-- | testhal/STM32/STM32F7xx/USB_CDC/main.c | 4 |
3 files changed, 7 insertions, 1 deletions
diff --git a/os/hal/ports/STM32/LLD/OTGv1/usb_lld.c b/os/hal/ports/STM32/LLD/OTGv1/usb_lld.c index 6d94f2e07..9c37d58a5 100644 --- a/os/hal/ports/STM32/LLD/OTGv1/usb_lld.c +++ b/os/hal/ports/STM32/LLD/OTGv1/usb_lld.c @@ -168,7 +168,7 @@ static void otg_disable_ep(USBDriver *usbp) { if ((otgp->oe[i].DOEPCTL & DOEPCTL_EPENA) != 0) {
otgp->oe[i].DOEPCTL = DOEPCTL_EPDIS;
/* Wait for endpoint disable.*/
- while (!(otgp->oe[i].DOEPINT & DOEPINT_OTEPDIS))
+ while (!(otgp->oe[i].DOEPCTL & DOEPCTL_EPDIS))
;
}
else
diff --git a/readme.txt b/readme.txt index 1e9b571bc..323dfb0e2 100644 --- a/readme.txt +++ b/readme.txt @@ -135,6 +135,8 @@ - HAL: Updated STM32F0xx headers to STM32CubeF0 version 1.3.0. Added support
for STM32F030xC, STM32F070x6, STM32F070xB, STM32F091xC,
STM32F098xx devices.
+- HAL: Fixed usbStop() hangs in STM32 OTGv1 driver (bug #674)(backported
+ to 3.0.4 and 2.6.10).
- HAL: Fixed STM32 I2Cv2 driver fails on transfers greater than 255 bytes
(bug #673)(backported to 3.0.4).
- HAL: Fixed STM32 I2Cv2 DMA conflict (bug #671)(backported to 3.0.4).
diff --git a/testhal/STM32/STM32F7xx/USB_CDC/main.c b/testhal/STM32/STM32F7xx/USB_CDC/main.c index d992623c0..73ad1ef18 100644 --- a/testhal/STM32/STM32F7xx/USB_CDC/main.c +++ b/testhal/STM32/STM32F7xx/USB_CDC/main.c @@ -213,6 +213,10 @@ int main(void) { chThdRelease(shelltp); /* Recovers memory of the previous shell. */
shelltp = NULL; /* Triggers spawning of a new shell. */
}
+ if (palReadPad(GPIOI, GPIOI_BUTTON_USER)) {
+ usbDisconnectBus(serusbcfg.usbp);
+ usbStop(serusbcfg.usbp);
+ }
chThdSleepMilliseconds(1000);
}
}
|