• Andres Salomon's avatar
    olpc: sdhci: add quirk for the Marvell CaFe's interrupt timeout · 603ded16
    Andres Salomon authored
    The CaFe chip has a hardware bug that ends up with us getting a timeout
    value that's too small, causing the following sorts of problems:
    
    [   60.525138] mmcblk0: error -110 transferring data
    [   60.531477] end_request: I/O error, dev mmcblk0, sector 1484353
    [   60.533371] Buffer I/O error on device mmcblk0p2, logical block 181632
    [   60.533371] lost page write due to I/O error on mmcblk0p2
    
    Presumably this is an off-by-one error in the hardware.  Incrementing
    the timeout count value that we stuff into the TIMEOUT_CONTROL register
    gets us a value that works.  This bug was originally discovered by
    Pierre Ossman, I believe.
    
    [thanks to Robert Millan for proving that this was still a problem]
    Signed-off-by: default avatarAndres Salomon <dilinger@debian.org>
    Cc: Pierre Ossman <drzeus-list@drzeus.cx>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    603ded16
sdhci.c 42.2 KB