for (idx = 1; idx < hsotg->num_of_eps; idx++) {
                hs_ep = hsotg->eps_in[idx];
                /* Proceed only unmasked ISOC EPs */
 -              if (!hs_ep->isochronous || (BIT(idx) & ~daintmsk))
 +              if ((BIT(idx) & ~daintmsk) || !hs_ep->isochronous)
                        continue;
  
-               epctrl = dwc2_readl(hsotg->regs + DIEPCTL(idx));
+               epctrl = dwc2_readl(hsotg, DIEPCTL(idx));
                if ((epctrl & DXEPCTL_EPENA) &&
                    dwc2_gadget_target_frame_elapsed(hs_ep)) {
                        epctrl |= DXEPCTL_SNAK;
        for (idx = 1; idx < hsotg->num_of_eps; idx++) {
                hs_ep = hsotg->eps_out[idx];
                /* Proceed only unmasked ISOC EPs */
 -              if (!hs_ep->isochronous || (BIT(idx) & ~daintmsk))
 +              if ((BIT(idx) & ~daintmsk) || !hs_ep->isochronous)
                        continue;
  
-               epctrl = dwc2_readl(hsotg->regs + DOEPCTL(idx));
+               epctrl = dwc2_readl(hsotg, DOEPCTL(idx));
                if ((epctrl & DXEPCTL_EPENA) &&
                    dwc2_gadget_target_frame_elapsed(hs_ep)) {
                        /* Unmask GOUTNAKEFF interrupt */
                for (idx = 1; idx < hsotg->num_of_eps; idx++) {
                        hs_ep = hsotg->eps_out[idx];
                        /* Proceed only unmasked ISOC EPs */
 -                      if (!hs_ep->isochronous || (BIT(idx) & ~daintmsk))
 +                      if ((BIT(idx) & ~daintmsk) || !hs_ep->isochronous)
                                continue;
  
-                       epctrl = dwc2_readl(hsotg->regs + DOEPCTL(idx));
+                       epctrl = dwc2_readl(hsotg, DOEPCTL(idx));
  
                        if (epctrl & DXEPCTL_EPENA) {
                                epctrl |= DXEPCTL_SNAK;