From db0b9dbf0bcce6b53647bd3bd25ff88e45794f16 Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Sat, 28 Nov 2015 10:18:46 +0000 Subject: [PATCH] Fixed bug #674. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@8536 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/ports/STM32/LLD/OTGv1/usb_lld.c | 2 +- readme.txt | 2 ++ testhal/STM32/STM32F7xx/USB_CDC/main.c | 4 ++++ 3 files changed, 7 insertions(+), 1 deletion(-) 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); } }