dm: usb: storage: Fix broken read/write when both EHCD and xHCD are enabled
authorBin Meng <bmeng.cn@gmail.com>
Thu, 7 Sep 2017 13:13:21 +0000 (06:13 -0700)
committerMarek Vasut <marek.vasut+renesas@gmail.com>
Wed, 27 Sep 2017 10:12:22 +0000 (12:12 +0200)
commitea7fad91019654fb21e6cd04f963e0482869dba5
treefda467518c0097d2ccecdf60d4450b9020c32571
parent6158d0b42411165d34635a2ddfea17e12dce3329
dm: usb: storage: Fix broken read/write when both EHCD and xHCD are enabled

When EHCD and xHCD are enabled at the same time, USB storage device
driver will fail to read/write from/to the storage device attached
to the xHCI interface, due to its transfer blocks exceeds the xHCD
driver limitation.

With driver model, we have an API to get the controller's maximum
transfer size and we can use that to determine the storage driver's
capability of read/write.

Note: the non-DM version driver is still broken with xHCD and the
intent here is not to fix the non-DM one, since the xHCD itself is
already broken in places like 3.0 hub support, etc.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
common/usb_storage.c