summaryrefslogtreecommitdiff
path: root/src/usbh_driver_hub.c
diff options
context:
space:
mode:
authorAmir Hammad <amir.hammad@hotmail.com>2016-09-05 20:10:17 +0200
committerAmir Hammad <amir.hammad@hotmail.com>2016-09-11 13:31:47 +0200
commita75535e52b9500a82cd0e9aebe6a987b68390895 (patch)
tree6ac0b048a6fc90d3812d9dd1e3336bb7f0d93249 /src/usbh_driver_hub.c
parent1d08641a15eef8fb0590113c96e3f985f7e32a23 (diff)
downloadsecure-hid-a75535e52b9500a82cd0e9aebe6a987b68390895.tar.gz
secure-hid-a75535e52b9500a82cd0e9aebe6a987b68390895.tar.bz2
secure-hid-a75535e52b9500a82cd0e9aebe6a987b68390895.zip
core: Simplify device removes
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
Diffstat (limited to 'src/usbh_driver_hub.c')
-rw-r--r--src/usbh_driver_hub.c16
1 files changed, 2 insertions, 14 deletions
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;
}
}