summaryrefslogtreecommitdiff
path: root/drivers/usb/dwc2/params.c
diff options
context:
space:
mode:
authorMinas Harutyunyan <Minas.Harutyunyan@synopsys.com>2018-07-27 13:48:45 +0300
committerFelipe Balbi <felipe.balbi@linux.intel.com>2018-07-30 10:39:18 +0300
commit4d4f1e79b800c80313280eec1af25a242a50dce5 (patch)
tree403f17b27efa79c31617ddf6911aa1272fb5fe57 /drivers/usb/dwc2/params.c
parentfe369e1826b3efae11012ad07d1713223c37ec5d (diff)
downloadlinux-4d4f1e79b800c80313280eec1af25a242a50dce5.tar.xz
usb: dwc2: gadget: ISOC's starting flow improvement
To start ISOC transfers in handlers dwc2_gadget_handle_nak() and dwc2_gadget_handle_out_token_ep_disabled() driver reads current frame number, based on which, set target frame number to start first ISOC transfer. In case if system's high IRQ latency and multiple EP's asserted interrupt in same frame, there are high probability that when reading current frame number in EP's handlers, actual frame number can be increased. As result for bInterval > 1, starting target frame will be set wrongly and all ISOC packets will be dropped. In patch "usb: dwc2: Change reading of current frame number flow" reading of current frame number done ASAP in common interrupt handler. This frame number stored in frame_number variable which used as starting frame number for ISOC EP's in above mentioned handlers. Signed-off-by: Minas Harutyunyan <hminas@synopsys.com> Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Diffstat (limited to 'drivers/usb/dwc2/params.c')
0 files changed, 0 insertions, 0 deletions