From b895498df9be02eba1c285c5cdc58eb088bb86fc Mon Sep 17 00:00:00 2001 From: Amir Hammad Date: Tue, 6 Sep 2016 08:40:32 +0200 Subject: hub: use common code to remove device Signed-off-by: Amir Hammad --- src/usbh_core.c | 2 +- src/usbh_driver_hub.c | 7 +------ 2 files changed, 2 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/usbh_core.c b/src/usbh_core.c index e673a59..fd1dca5 100644 --- a/src/usbh_core.c +++ b/src/usbh_core.c @@ -52,7 +52,7 @@ static bool enumeration(void) return usbh_data.enumeration_run; } -static void device_remove(usbh_device_t *dev) +void device_remove(usbh_device_t *dev) { if (dev->drv && dev->drvdata) { dev->drv->remove(dev->drvdata); diff --git a/src/usbh_driver_hub.c b/src/usbh_driver_hub.c index 87f8578..7dc99ea 100644 --- a/src/usbh_driver_hub.c +++ b/src/usbh_driver_hub.c @@ -449,13 +449,8 @@ static void event(usbh_device_t *dev, usbh_packet_callback_data_t cb_data) } } else { LOG_PRINTF("\t\t\t\tDISCONNECT EVENT\n"); - if (hub->device[port]->drv && hub->device[port]->drvdata) { - hub->device[port]->drv->remove(hub->device[port]->drvdata); - } - hub->device[port]->address = -1; + device_remove(hub->device[port]); - hub->device[port]->drv = 0; - hub->device[port]->drvdata = 0; hub->device[port] = 0; hub->current_port = CURRENT_PORT_NONE; hub->state = EVENT_STATE_POLL_REQ; -- cgit