summaryrefslogtreecommitdiffstats
path: root/drivers/usb/dwc2/hcd_ddma.c
diff options
context:
space:
mode:
authorDouglas Anderson <dianders@chromium.org>2016-01-28 18:20:13 -0800
committerFelipe Balbi <balbi@kernel.org>2016-03-04 15:14:45 +0200
commit1479cb698ac07d5dc4cc2b7de3588d38484267e9 (patch)
tree428c96aed59209f54afc73454b7b126627bfa67c /drivers/usb/dwc2/hcd_ddma.c
parent9f9f09b048f5fdfded26149defd61b737b314ba0 (diff)
downloadlinux-stable-1479cb698ac07d5dc4cc2b7de3588d38484267e9.tar.gz
linux-stable-1479cb698ac07d5dc4cc2b7de3588d38484267e9.tar.bz2
linux-stable-1479cb698ac07d5dc4cc2b7de3588d38484267e9.zip
usb: dwc2: host: If using uframe scheduler, end splits better
The microframe scheduler figured out exactly how many transfers we need for a split transaction. Let's use this knowledge to know when to end things. Without this I found that certain devices would just keep responding with tons of NYET resonses on their INT_IN endpoint. These would just keep going and going and eventually we'd decide to terminate the transfer (because the whole frame changed), but by that time the scheduler would decide that we "missed" the start of the next transfer. I can also imagine that if we blow past the end of our scheduled time we may mess up other things that were scheduled to happen. No known test cases are improved by this patch except that the scheduler code doesn't yell about MISSES constantly anymore. Acked-by: John Youn <johnyoun@synopsys.com> Signed-off-by: Douglas Anderson <dianders@chromium.org> Tested-by: Heiko Stuebner <heiko@sntech.de> Tested-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: Felipe Balbi <balbi@kernel.org>
Diffstat (limited to 'drivers/usb/dwc2/hcd_ddma.c')
0 files changed, 0 insertions, 0 deletions