diff options
| author | sakumisu <[email protected]> | 2024-06-17 18:28:11 +0800 |
|---|---|---|
| committer | sakumisu <[email protected]> | 2024-06-17 18:37:22 +0800 |
| commit | 5d87a750aceaefc6cf734f763104efe2762df44c (patch) | |
| tree | d6a8548ce068ecb860530bb59bf2c7d5ee726115 | |
| parent | 8a4f210ee7c05aad5f8b2c514dab3b9ea753ec86 (diff) | |
fix(core/usbh_core): fix missing free devaddr caused by 935325
| -rw-r--r-- | core/usbh_core.c | 4 |
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; } |
