forked from mfulz_github/qmk_firmware
		
	[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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Stefan Kerkmann
						Stefan Kerkmann