mmc: block: fix packed command header endianness
authorTaras Kondratiuk <takondra@cisco.com>
Wed, 13 Jul 2016 22:05:38 +0000 (22:05 +0000)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 18 Jul 2016 09:47:01 +0000 (11:47 +0200)
commitf68381a70bb2b26c31b13fdaf67c778f92fd32b4
treeccc077b5f93b20bc7f6f0df92880b82486299a8a
parentbfe5b1b1e013f7b1c0fd2ac3b3c8c380114b3fb9
mmc: block: fix packed command header endianness

The code that fills packed command header assumes that CPU runs in
little-endian mode. Hence the header is malformed in big-endian mode
and causes MMC data transfer errors:

[  563.200828] mmcblk0: error -110 transferring data, sector 2048, nr 8, cmd response 0x900, card status 0xc40
[  563.219647] mmcblk0: packed cmd failed, nr 2, sectors 16, failure index: -1

Convert header data to LE.

Signed-off-by: Taras Kondratiuk <takondra@cisco.com>
Fixes: ce39f9d17c14 ("mmc: support packed write command for eMMC4.5 devices")
Cc: <stable@vger.kernel.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/card/block.c