Save setup_count on bus reset.
This commit is contained in:
		@@ -495,10 +495,13 @@ bool tud_deinit(uint8_t rhport) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void configuration_reset(uint8_t rhport) {
 | 
			
		||||
  // Save setup_count for restore
 | 
			
		||||
  uint8_t setup_count =  _usbd_dev.setup_count;
 | 
			
		||||
  // Clear mounted status first to ensure tud_ready() return false before driver clean up.
 | 
			
		||||
  tu_varclr(&_usbd_dev);
 | 
			
		||||
  memset(_usbd_dev.itf2drv, DRVID_INVALID, sizeof(_usbd_dev.itf2drv)); // invalid mapping
 | 
			
		||||
  memset(_usbd_dev.ep2drv, DRVID_INVALID, sizeof(_usbd_dev.ep2drv)); // invalid mapping
 | 
			
		||||
  _usbd_dev.setup_count = setup_count;
 | 
			
		||||
 | 
			
		||||
  for (uint8_t i = 0; i < TOTAL_DRIVER_COUNT; i++) {
 | 
			
		||||
    usbd_class_driver_t const* driver = get_driver(i);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user