[Core] ChibiOS: Fix USB bus disconnect handling (#18566)
This commit is contained in:
parent
c4ff8192c2
commit
6f13a76530
|
@ -734,6 +734,7 @@ void init_usb_driver(USBDriver *usbp) {
|
||||||
* after a reset.
|
* after a reset.
|
||||||
*/
|
*/
|
||||||
usbDisconnectBus(usbp);
|
usbDisconnectBus(usbp);
|
||||||
|
usbStop(usbp);
|
||||||
wait_ms(50);
|
wait_ms(50);
|
||||||
usbStart(usbp, &usbcfg);
|
usbStart(usbp, &usbcfg);
|
||||||
usbConnectBus(usbp);
|
usbConnectBus(usbp);
|
||||||
|
@ -742,8 +743,8 @@ void init_usb_driver(USBDriver *usbp) {
|
||||||
}
|
}
|
||||||
|
|
||||||
__attribute__((weak)) void restart_usb_driver(USBDriver *usbp) {
|
__attribute__((weak)) void restart_usb_driver(USBDriver *usbp) {
|
||||||
usbStop(usbp);
|
|
||||||
usbDisconnectBus(usbp);
|
usbDisconnectBus(usbp);
|
||||||
|
usbStop(usbp);
|
||||||
|
|
||||||
#if USB_SUSPEND_WAKEUP_DELAY > 0
|
#if USB_SUSPEND_WAKEUP_DELAY > 0
|
||||||
// Some hubs, kvm switches, and monitors do
|
// Some hubs, kvm switches, and monitors do
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
#include "usb_util.h"
|
#include "usb_util.h"
|
||||||
|
|
||||||
void usb_disconnect(void) {
|
void usb_disconnect(void) {
|
||||||
|
usbDisconnectBus(&USBD1);
|
||||||
usbStop(&USBD1);
|
usbStop(&USBD1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue