فهرست منبع

fix(port/dwc2/usb_dc_dwc2): fix typo for disable global isr

Signed-off-by: sakumisu <1203593632@qq.com>
sakumisu 3 هفته پیش
والد
کامیت
64dced8ec7
1فایلهای تغییر یافته به همراه6 افزوده شده و 1 حذف شده
  1. 6 1
      port/dwc2/usb_dc_dwc2.c

+ 6 - 1
port/dwc2/usb_dc_dwc2.c

@@ -616,7 +616,7 @@ int usb_dc_init(uint8_t busid)
 
 int usb_dc_deinit(uint8_t busid)
 {
-    USB_OTG_GLB->GAHBCFG |= USB_OTG_GAHBCFG_GINT;
+    USB_OTG_GLB->GAHBCFG &= ~USB_OTG_GAHBCFG_GINT;
     USB_OTG_DEV->DCTL |= USB_OTG_DCTL_SDIS;
 
     /* Clear Pending interrupt */
@@ -630,6 +630,11 @@ int usb_dc_deinit(uint8_t busid)
     USB_OTG_DEV->DOEPMSK = 0U;
     USB_OTG_DEV->DAINTMSK = 0U;
 
+    /* Disable all interrupts. */
+    USB_OTG_GLB->GINTMSK = 0U;
+    /* Clear any pending interrupts */
+    USB_OTG_GLB->GINTSTS = 0xBFFFFFFFU;
+
     /* Flush the FIFO */
     dwc2_flush_txfifo(busid, 0x10U);
     dwc2_flush_rxfifo(busid);