summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsakumisu <[email protected]>2024-06-17 18:28:11 +0800
committersakumisu <[email protected]>2024-06-17 18:37:22 +0800
commit5d87a750aceaefc6cf734f763104efe2762df44c (patch)
treed6a8548ce068ecb860530bb59bf2c7d5ee726115
parent8a4f210ee7c05aad5f8b2c514dab3b9ea753ec86 (diff)
fix(core/usbh_core): fix missing free devaddr caused by 935325
-rw-r--r--core/usbh_core.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/core/usbh_core.c b/core/usbh_core.c
index 18df49c3..b2721b36 100644
--- a/core/usbh_core.c
+++ b/core/usbh_core.c
@@ -81,7 +81,9 @@ static int __usbh_free_devaddr(struct usbh_devaddr_map *devgen, uint8_t devaddr)
static int usbh_free_devaddr(struct usbh_hubport *hport)
{
- hport->dev_addr = 0;
+ if (hport->dev_addr > 0) {
+ __usbh_free_devaddr(&hport->bus->devgen, hport->dev_addr);
+ }
return 0;
}