aboutsummaryrefslogtreecommitdiff
path: root/drivers/ata/pata_ali.c
diff options
context:
space:
mode:
authorNicolas Pitre <nico@cam.org>2009-05-26 22:35:34 -0400
committerPierre Ossman <pierre@ossman.eu>2009-06-03 21:51:00 +0200
commita6d297f008e124d0bb4312369191b012c10a1a4e (patch)
tree7be3bdf52625cf7134c27890bb313d01d9747209 /drivers/ata/pata_ali.c
parent9ca6944cbfad11f2368cf10292e7f3eb036386c2 (diff)
mvsdio: fix config failure with some high speed SDHC cards
Especially with Sandisk SDHC cards, the second SWITCH command was failing with a timeout and the card was not recognized at all. However if the system was busy, or debugging was enabled, or a udelay(100) was inserted before the second SWITCH command in the core code, then the timing was so that the card started to work. With some unusual block sizes, the data FIFO status doesn't indicate a "empty" state right away when the data transfer is done. Queuing another data transfer in that condition results in a transfer timeout. The empty FIFO bit eventually get set by itself in less than 50 usecs when it is not set right away. So let's just poll for that bit before configuring the controller with a new data transfer. Signed-off-by: Nicolas Pitre <nico@marvell.com> Signed-off-by: Pierre Ossman <pierre@ossman.eu>
Diffstat (limited to 'drivers/ata/pata_ali.c')
0 files changed, 0 insertions, 0 deletions