From a75535e52b9500a82cd0e9aebe6a987b68390895 Mon Sep 17 00:00:00 2001 From: Amir Hammad Date: Mon, 5 Sep 2016 20:10:17 +0200 Subject: core: Simplify device removes Signed-off-by: Amir Hammad --- src/usbh_driver_hub.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) (limited to 'src/usbh_driver_hub.c') diff --git a/src/usbh_driver_hub.c b/src/usbh_driver_hub.c index 1beed01..c185b6a 100644 --- a/src/usbh_driver_hub.c +++ b/src/usbh_driver_hub.c @@ -835,23 +835,11 @@ static void remove(void *drvdata) hub_device_t *hub = (hub_device_t *)drvdata; uint8_t i; - // Call fast... to avoid polling hub->state = 0; hub->endpoint_in_address = 0; hub->busy = 0; - for (i = 1; i < USBH_HUB_MAX_DEVICES + 1; i++) { - if (hub->device[i]) { - if (hub->device[i]->drv && hub->device[i]->drvdata) { - if (hub->device[i]->drv->remove != remove) { - LOG_PRINTF("\t\t\t\tHUB REMOVE %d\n",hub->device[i]->address); - hub->device[i]->drv->remove(hub->device[i]->drvdata); - } - } - hub->device[i] = 0; - } - hub->device[0]->drv = 0; - hub->device[0]->drvdata = 0; - hub->device[0] = 0; + for (i = 0; i < USBH_HUB_MAX_DEVICES + 1; i++) { + hub->device[i] = 0; } } -- cgit