From 76f58b93fecff624ef6d190fc365a93f1d7a7cfb Mon Sep 17 00:00:00 2001 From: sakumisu <1203593632@qq.com> Date: Thu, 18 Apr 2024 21:11:36 +0800 Subject: do not clear timeout in irq,urb init will sometime call irq before take sem --- port/dwc2/usb_hc_dwc2.c | 1 - port/ehci/usb_hc_ehci.c | 1 - port/musb/usb_hc_musb.c | 1 - 3 files changed, 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); -- cgit v1.3.1