Ver código fonte

usb: dwc2: Don't program DMA address for 0 length request

Check the request length in dwc2_hsotg_start_req() function. If
length == 0, do not write DMA address to control register.

Signed-off-by: Razmik Karapetyan <razmik@synopsys.com>
Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Razmik Karapetyan 9 anos atrás
pai
commit
729e65746d
1 arquivos alterados com 1 adições e 1 exclusões
  1. 1 1
      drivers/usb/dwc2/gadget.c

+ 1 - 1
drivers/usb/dwc2/gadget.c

@@ -1018,7 +1018,7 @@ static void dwc2_hsotg_start_req(struct dwc2_hsotg *hsotg,
 		/* write size / packets */
 		dwc2_writel(epsize, hsotg->regs + epsize_reg);
 
-		if (using_dma(hsotg) && !continuing) {
+		if (using_dma(hsotg) && !continuing && (length != 0)) {
 			/*
 			 * write DMA address to control register, buffer
 			 * already synced by dwc2_hsotg_ep_queue().