소스 검색

fix(core/usbh_core): fix missing free devaddr caused by 935325

sakumisu 1 년 전
부모
커밋
5d87a750ac
1개의 변경된 파일3개의 추가작업 그리고 1개의 파일을 삭제
  1. 3 1
      core/usbh_core.c

+ 3 - 1
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;
 }