mvsdio: fix handling of partial word at the end of PIO transfer
commit0cb3ced579f18fe2664dc86b2fc1c41e42176ce2
authorNicolas Pitre <nico@cam.org>
Sun, 19 Jul 2009 00:34:37 +0000 (18 20:34 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 30 Jul 2009 21:39:33 +0000 (30 14:39 -0700)
tree3010eae2c8bb2eaf383a47980e4201bcc842712b
parent99881939eeede1a08dcec3c8ea9a4bc046736554
mvsdio: fix handling of partial word at the end of PIO transfer

commit 6cdbf734493d6e8f5afc6f539b82897772809d43 upstream.

Standard data flow for MMC/SD/SDIO cards requires that the mvsdio
controller be set for big endian operation.  This is causing problems
with buffers which length is not a multiple of 4 bytes as the last
partial word doesn't get shifted all the way and stored properly in
memory.  Let's compensate for this.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/mmc/host/mvsdio.c