aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--os/hal/ports/STM32/LLD/OTGv1/usb_lld.c2
-rw-r--r--readme.txt2
-rw-r--r--testhal/STM32/STM32F7xx/USB_CDC/main.c4
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);
}
}