Signed-off-by: sakumisu <1203593632@qq.com>
@@ -484,6 +484,8 @@ static void dwc2_chan_free(struct dwc2_chan *chan)
{
size_t flags;
+ usb_osal_sem_reset(chan->waitsem);
+
flags = usb_osal_enter_critical_section();
if (chan->urb) {
chan->urb->hcpriv = NULL;
@@ -98,6 +98,8 @@ static void ehci_qh_free(struct usbh_bus *bus, struct ehci_qh_hw *qh)
struct ehci_qtd_hw *qtd;
+ usb_osal_sem_reset(qh->waitsem);
if (qh->urb) {
qh->urb->hcpriv = NULL;
@@ -477,6 +477,8 @@ static int musb_pipe_alloc(void)
static void musb_pipe_free(struct musb_pipe *pipe)
+ usb_osal_sem_reset(pipe->waitsem);
if (pipe->urb) {
pipe->urb->hcpriv = NULL;
pipe->urb = NULL;
@@ -71,6 +71,8 @@ static void rp2040_pipe_free(struct rp2040_pipe *pipe)