summaryrefslogtreecommitdiff
path: root/src/host
diff options
context:
space:
mode:
authorHa Thach <[email protected]>2021-11-30 21:53:28 +0700
committerGitHub <[email protected]>2021-11-30 21:53:28 +0700
commit6af58e3385837e8cbcee2fb4df42b62ad6772547 (patch)
tree363a1f6b1aeb526c53dfeab07a7fa08ba8fcec4b /src/host
parent9775e76910d569ec73b8dd946f3fa5fe5414acdb (diff)
parent3e3fe1e429aed7bd0000f49b1ef15f83eb815a19 (diff)
Merge pull request #1193 from rppicomidi/implement_usbh_replug_on_pico
Implement usbh replug on pico
Diffstat (limited to 'src/host')
-rw-r--r--src/host/usbh.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/host/usbh.c b/src/host/usbh.c
index f74e7114c..b8439addc 100644
--- a/src/host/usbh.c
+++ b/src/host/usbh.c
@@ -541,10 +541,12 @@ void process_device_unplugged(uint8_t rhport, uint8_t hub_addr, uint8_t hub_port
usbh_class_drivers[drv_id].close(dev_addr);
}
+ hcd_device_close(rhport, dev_addr);
+
+ // release all endpoints associated with the device
memset(dev->itf2drv, DRVID_INVALID, sizeof(dev->itf2drv)); // invalid mapping
memset(dev->ep2drv , DRVID_INVALID, sizeof(dev->ep2drv )); // invalid mapping
-
- hcd_device_close(rhport, dev_addr);
+ tu_memclr(dev->ep_status, sizeof(dev->ep_status));
dev->state = TUSB_DEVICE_STATE_UNPLUG;
}