usb: xhci: Limit transfer length of a single TD 90/96090/1 accepted/tizen/common/20161114.171454 accepted/tizen/ivi/20161114.074010 accepted/tizen/mobile/20161114.073915 accepted/tizen/tv/20161114.073933 accepted/tizen/wearable/20161114.073950 submit/tizen/20161114.022710
authorDongwoo Lee <dwoo08.lee@samsung.com>
Mon, 7 Nov 2016 05:34:15 +0000 (14:34 +0900)
committerDongwoo Lee <dwoo08.lee@samsung.com>
Mon, 7 Nov 2016 23:37:27 +0000 (08:37 +0900)
commit8dea7436361439af9548ad781e5932441002b250
treecd32cb8645c3c3933345ffded54e6c2ffa8bd555
parent5292c85e1d96c17c3b06aab3b537936e01b246d2
usb: xhci: Limit transfer length of a single TD

This is workaround solution for timed out error and babble error while
transfering data exceeding 0x3F01FF bytes on xhci host. Actually, this
size equals to value that the maximum number of TRBs per TD times the
maximum size of transfer buffer on TRB. Thus, huge transfer request is
splitted in order to limit the size of data in a single TD.

Even though the single I/O request is splitted into multiple requests,
the transfer speed has affected insignificantly: 22.6 --> 22.3 MiB/s.

Change-Id: I85a17910587b70807f075dd40634a0da817cea2f
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
drivers/usb/host/xhci.c