diff --git a/drivers/usb/dwc2/hcd.c b/drivers/usb/dwc2/hcd.c index e6fadfd689d4..4a40ad45aabf 100644 --- a/drivers/usb/dwc2/hcd.c +++ b/drivers/usb/dwc2/hcd.c @@ -2868,7 +2868,7 @@ static int dwc2_queue_transaction(struct dwc2_hsotg *hsotg, if (!chan->xfer_started) { dwc2_hc_start_transfer(hsotg, chan); retval = 1; - } else { + } else if (!hsotg->params.host_dma) { retval = dwc2_hc_continue_transfer(hsotg, chan); } } else { @@ -2878,7 +2878,7 @@ static int dwc2_queue_transaction(struct dwc2_hsotg *hsotg, if (!chan->xfer_started) { dwc2_hc_start_transfer(hsotg, chan); retval = 1; - } else { + } else if (!hsotg->params.host_dma) { retval = dwc2_hc_continue_transfer(hsotg, chan); } }