summaryrefslogtreecommitdiff
path: root/tinyusb/host
diff options
context:
space:
mode:
Diffstat (limited to 'tinyusb/host')
-rw-r--r--tinyusb/host/usbh.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/tinyusb/host/usbh.c b/tinyusb/host/usbh.c
index 587e8a840..7559142c2 100644
--- a/tinyusb/host/usbh.c
+++ b/tinyusb/host/usbh.c
@@ -232,8 +232,11 @@ void usbh_device_unplugged_isr(uint8_t hostid)
// if device unplugged is not a hub TODO handle hub unplugged
for (uint8_t class_code = 1; class_code < TUSB_CLASS_MAX_CONSEC_NUMBER; class_code++)
{
- if (usbh_class_drivers[class_code].close)
+ if ((usbh_devices[dev_addr].flag_supported_class & BIT_(class_code)) &&
+ usbh_class_drivers[class_code].close)
+ {
usbh_class_drivers[class_code].close(dev_addr);
+ }
}
}