summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsakumisu <[email protected]>2024-04-18 21:11:36 +0800
committersakumisu <[email protected]>2024-04-18 21:11:36 +0800
commit76f58b93fecff624ef6d190fc365a93f1d7a7cfb (patch)
treec5658acc5cd920d5bb84e5ac3c692a10ca88d514
parent70c7f1ccbd1c86c108447b514e8ac59a3d500e7f (diff)
do not clear timeout in irq,urb init will sometime call irq before take sem
-rw-r--r--port/dwc2/usb_hc_dwc2.c1
-rw-r--r--port/ehci/usb_hc_ehci.c1
-rw-r--r--port/musb/usb_hc_musb.c1
3 files changed, 0 insertions, 3 deletions
diff --git a/port/dwc2/usb_hc_dwc2.c b/port/dwc2/usb_hc_dwc2.c
index eed6b21f..9f8d18a3 100644
--- a/port/dwc2/usb_hc_dwc2.c
+++ b/port/dwc2/usb_hc_dwc2.c
@@ -831,7 +831,6 @@ static inline void dwc2_urb_waitup(struct usbh_urb *urb)
urb->hcpriv = NULL;
if (urb->timeout) {
- urb->timeout = 0;
usb_osal_sem_give(chan->waitsem);
} else {
dwc2_chan_free(chan);
diff --git a/port/ehci/usb_hc_ehci.c b/port/ehci/usb_hc_ehci.c
index eee70d7f..b40625da 100644
--- a/port/ehci/usb_hc_ehci.c
+++ b/port/ehci/usb_hc_ehci.c
@@ -564,7 +564,6 @@ static void ehci_urb_waitup(struct usbh_bus *bus, struct usbh_urb *urb)
qh->remove_in_iaad = 0;
if (urb->timeout) {
- urb->timeout = 0;
usb_osal_sem_give(qh->waitsem);
} else {
ehci_qh_free(bus, qh);
diff --git a/port/musb/usb_hc_musb.c b/port/musb/usb_hc_musb.c
index bddbf344..ed74d9c3 100644
--- a/port/musb/usb_hc_musb.c
+++ b/port/musb/usb_hc_musb.c
@@ -724,7 +724,6 @@ static void musb_urb_waitup(struct usbh_urb *urb)
urb->hcpriv = NULL;
if (urb->timeout) {
- urb->timeout = 0;
usb_osal_sem_give(pipe->waitsem);
} else {
musb_pipe_free(pipe);