unsigned int            i;
        int                     ret;
 
+       req = next_request(&dep->req_queued);
+       if (!req) {
+               WARN_ON_ONCE(1);
+               return 1;
+       }
+       i = 0;
        do {
-               req = next_request(&dep->req_queued);
-               if (!req) {
-                       WARN_ON_ONCE(1);
-                       return 1;
-               }
-               i = 0;
-               do {
-                       slot = req->start_slot + i;
-                       if ((slot == DWC3_TRB_NUM - 1) &&
+               slot = req->start_slot + i;
+               if ((slot == DWC3_TRB_NUM - 1) &&
                                usb_endpoint_xfer_isoc(dep->endpoint.desc))
-                               slot++;
-                       slot %= DWC3_TRB_NUM;
-                       trb = &dep->trb_pool[slot];
-
-                       ret = __dwc3_cleanup_done_trbs(dwc, dep, req, trb,
-                                       event, status);
-                       if (ret)
-                               break;
-               }while (++i < req->request.num_mapped_sgs);
-
-               dwc3_gadget_giveback(dep, req, status);
+                       slot++;
+               slot %= DWC3_TRB_NUM;
+               trb = &dep->trb_pool[slot];
 
+               ret = __dwc3_cleanup_done_trbs(dwc, dep, req, trb,
+                               event, status);
                if (ret)
                        break;
-       } while (1);
+       } while (++i < req->request.num_mapped_sgs);
+
+       dwc3_gadget_giveback(dep, req, status);
 
        if (usb_endpoint_xfer_isoc(dep->endpoint.desc) &&
                        list_empty(&dep->req_queued)) {