|
@@ -1245,8 +1245,10 @@ static void dwc2_complete_non_isoc_xfer_ddma(struct dwc2_hsotg *hsotg,
|
|
|
for (i = 0; i < qtd_desc_count; i++) {
|
|
|
if (dwc2_process_non_isoc_desc(hsotg, chan, chnum, qtd,
|
|
|
desc_num, halt_status,
|
|
|
- &xfer_done))
|
|
|
+ &xfer_done)) {
|
|
|
+ qtd = NULL;
|
|
|
goto stop_scan;
|
|
|
+ }
|
|
|
|
|
|
desc_num++;
|
|
|
}
|
|
@@ -1261,7 +1263,7 @@ stop_scan:
|
|
|
if (halt_status == DWC2_HC_XFER_STALL)
|
|
|
qh->data_toggle = DWC2_HC_PID_DATA0;
|
|
|
else
|
|
|
- dwc2_hcd_save_data_toggle(hsotg, chan, chnum, qtd);
|
|
|
+ dwc2_hcd_save_data_toggle(hsotg, chan, chnum, NULL);
|
|
|
}
|
|
|
|
|
|
if (halt_status == DWC2_HC_XFER_COMPLETE) {
|