gintsts &= gintmsk;
 
+       if (gintsts & GINTSTS_RESETDET) {
+               dev_dbg(hsotg->dev, "%s: USBRstDet\n", __func__);
+
+               dwc2_writel(GINTSTS_RESETDET, hsotg->regs + GINTSTS);
+
+               /* This event must be used only if controller is suspended */
+               if (hsotg->lx_state == DWC2_L2) {
+                       dwc2_exit_hibernation(hsotg, true);
+                       hsotg->lx_state = DWC2_L0;
+               }
+       }
+
+       if (gintsts & (GINTSTS_USBRST | GINTSTS_RESETDET)) {
+
+               u32 usb_status = dwc2_readl(hsotg->regs + GOTGCTL);
+               u32 connected = hsotg->connected;
+
+               dev_dbg(hsotg->dev, "%s: USBRst\n", __func__);
+               dev_dbg(hsotg->dev, "GNPTXSTS=%08x\n",
+                       dwc2_readl(hsotg->regs + GNPTXSTS));
+
+               dwc2_writel(GINTSTS_USBRST, hsotg->regs + GINTSTS);
+
+               /* Report disconnection if it is not already done. */
+               dwc2_hsotg_disconnect(hsotg);
+
+               if (usb_status & GOTGCTL_BSESVLD && connected)
+                       dwc2_hsotg_core_init_disconnected(hsotg, true);
+       }
+
        if (gintsts & GINTSTS_ENUMDONE) {
                dwc2_writel(GINTSTS_ENUMDONE, hsotg->regs + GINTSTS);
 
                }
        }
 
-       if (gintsts & GINTSTS_RESETDET) {
-               dev_dbg(hsotg->dev, "%s: USBRstDet\n", __func__);
-
-               dwc2_writel(GINTSTS_RESETDET, hsotg->regs + GINTSTS);
-
-               /* This event must be used only if controller is suspended */
-               if (hsotg->lx_state == DWC2_L2) {
-                       dwc2_exit_hibernation(hsotg, true);
-                       hsotg->lx_state = DWC2_L0;
-               }
-       }
-
-       if (gintsts & (GINTSTS_USBRST | GINTSTS_RESETDET)) {
-
-               u32 usb_status = dwc2_readl(hsotg->regs + GOTGCTL);
-               u32 connected = hsotg->connected;
-
-               dev_dbg(hsotg->dev, "%s: USBRst\n", __func__);
-               dev_dbg(hsotg->dev, "GNPTXSTS=%08x\n",
-                       dwc2_readl(hsotg->regs + GNPTXSTS));
-
-               dwc2_writel(GINTSTS_USBRST, hsotg->regs + GINTSTS);
-
-               /* Report disconnection if it is not already done. */
-               dwc2_hsotg_disconnect(hsotg);
-
-               if (usb_status & GOTGCTL_BSESVLD && connected)
-                       dwc2_hsotg_core_init_disconnected(hsotg, true);
-       }
-
        /* check both FIFOs */
 
        if (gintsts & GINTSTS_NPTXFEMP) {