Hub: Unplug downstream devices on non-root hub disconnect

This commit is contained in:
Ryzee119 2022-05-29 14:00:36 +09:30
parent 9e30ec4f16
commit b7c8cb3c41
1 changed files with 6 additions and 0 deletions

View File

@ -1107,6 +1107,12 @@ static void process_device_unplugged(uint8_t rhport, uint8_t hub_addr, uint8_t h
{
TU_LOG2(" Address = %u\r\n", dev_addr);
// If the device itself is a usb hub, unplug downstream devices.
if (dev_addr > CFG_TUH_DEVICE_MAX)
{
process_device_unplugged(rhport, dev_addr, 0);
}
// Invoke callback before close driver
if (tuh_umount_cb) tuh_umount_cb(dev_addr);