Skip to content
Commit b2c586eb authored by Minas Harutyunyan's avatar Minas Harutyunyan Committed by Felipe Balbi
Browse files

usb: dwc2: Fix INTR OUT transfers in DDMA mode.



In DDMA mode if INTR OUT transfers mps not multiple of 4 then single packet
corresponds to single descriptor.

Descriptor limit set to mps and desc chain limit set to mps *
MAX_DMA_DESC_NUM_GENERIC. On that descriptors complete, to calculate
transfer size should be considered correction value for each descriptor.

In start request function, if "continue" is true then dma buffer address
should be incremmented by offset for all type of transfers, not only for
Control DATA_OUT transfers.

Fixes: cf77b5fb ("usb: dwc2: gadget: Transfer length limit checking for DDMA")
Fixes: e02f9aa6 ("usb: dwc2: gadget: EP 0 specific DDMA programming")
Fixes: aa3e8bc8 ("usb: dwc2: gadget: DDMA transfer start and complete")

Signed-off-by: default avatarMinas Harutyunyan <hminas@synopsys.com>
Signed-off-by: default avatarFelipe Balbi <balbi@kernel.org>
parent d58ba480
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment