Subject: [PATCH 1/2] mmc: quirk fix for timeout problem

From: [email-masked] (Eric Bénard)
Date: Thu, 21 Oct 2010 22:28:49 +0200

Hi,

test protocol : booting a 2.6.36-rc8 kernel with a rootfs (ext3 formated, 
generated with OpenEmbedded for armv5, loading and launching qtdemo 4.6.3) on 
a 8GB ?SDHC  (uSD reformated after each board tests to trigger lot of 
read/writes on the first init).

* on an i.MX357 (rev 2.1) without this patch leads to :
mmcblk0: error -110 transferring data, sector 7347024, nr 8, card status 0xe00
end_request: I/O error, dev mmcblk0, sector 7347025

Same card, same board, with the timeout quirk patch : boots fine without any 
error.

Reverted the patch: timeout errors came back.

==> quirk timeout patch needed for the i.MX35

* on an i.MX257 (tested twice) :
Same kernel tree, same rootfs, same motherboard, same uSD, only the CPU module 
change : no error without the patch (and no error with the patch also ;-).

==> quirk timeout patch not needed for the i.MX25

* on an i.MX515 :
Same kernel tree, same rootfs, same motherboard, same uSD (re-formated), only 
the CPU module change without this patch leads to :
mmcblk0: error -84 transferring data, sector 1315598, nr 2, card status 0x900
end_request: I/O error, dev mmcblk0, sector 1315598

Same card, same board, with the timeout quirk patch : boots fine without any 
error.

Reverted the patch: timeout errors came back.

==> quirk timeout patch needed for the i.MX51

Updated patch follows.

Eric