Merge pull request #2202 from Rocky04/patch-4

Invoke unmounted state on configuration reset
This commit is contained in:
Ha Thach
2023-08-09 20:48:26 +07:00
committed by GitHub
21 changed files with 46 additions and 25 deletions

View File

@@ -710,8 +710,18 @@ static bool process_control_request(uint8_t rhport, tusb_control_request_t const
_usbd_dev.speed = speed; // restore speed
}
// switch to new configuration if not zero
if ( cfg_num ) TU_ASSERT( process_set_config(rhport, cfg_num) );
// Handle the new configuration and execute the corresponding callback
if ( cfg_num )
{
// switch to new configuration if not zero
TU_ASSERT( process_set_config(rhport, cfg_num) );
if ( tud_mount_cb ) tud_mount_cb();
}
else
{
if ( tud_umount_cb ) tud_umount_cb();
}
}
_usbd_dev.cfg_num = cfg_num;
@@ -964,9 +974,6 @@ static bool process_set_config(uint8_t rhport, uint8_t cfg_num)
TU_ASSERT(drv_id < TOTAL_DRIVER_COUNT);
}
// invoke callback
if (tud_mount_cb) tud_mount_cb();
return true;
}