]> rtime.felk.cvut.cz Git - zynq/linux.git/commit
usb: dwc3: gadget: ISOC transfers should be stopped before starting a transfer
authorAnurag Kumar Vulisha <anurag.kumar.vulisha@xilinx.com>
Thu, 26 Apr 2018 07:19:17 +0000 (12:49 +0530)
committerMichal Simek <michal.simek@xilinx.com>
Thu, 26 Apr 2018 14:32:20 +0000 (16:32 +0200)
commit7e8d9f80081e5459d3e50f6786880fa9c5ee49f5
tree434640ffe4de9d691c87788bdeac88f39f1bfde8
parent4aeaea555eb07201b3dd4e816efb2df58f4e7114
usb: dwc3: gadget: ISOC transfers should be stopped before starting a transfer

For ISOC transfers the requests are not queued until the HOST requests
for data and XferNotReady event is generated .But XferNotReady event
is not getting generated for ISOC transfers for the second time after
Endpoint configuration. Since ISOC packets depend on the XferNotReady
events, they will not be queued to controller. Because of this issue
timeout happens on the application layer.

This patch fixes this issue by issuing END TRANSFER command before
starting any ISOC transfers. Doing so will make the controller clear
the previous allocated endpoint resources and reallocate resources
when the transfer is requested. Because of this change XferNotReady
events will be generated when host requests for the ISOC transfer.

Signed-off-by: Anurag Kumar Vulisha <anurag.kumar.vulisha@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
drivers/usb/dwc3/gadget.c