• Adrian Hunter's avatar
    mmc: fix incorrect interpretation of card type bits · 7198f3c9
    Adrian Hunter authored
    In the extended CSD register the CARD_TYPE is an 8-bit value of which the
    upper 6 bits were reserved in JEDEC specifications prior to version 4.4.
    In version 4.4 two of the reserved bits were designated for identifying
    support for the newly added High-Speed Dual Data Rate.  Unfortunately the
    mmc_read_ext_csd() function required that the reserved bits be zero
    instead of ignoring them as it should.
    
    This patch makes mmc_read_ext_csd() ignore the CARD_TYPE bits that are
    reserved or not yet supported.  It also stops the function jumping to the
    end as though an error occurred, when it is only warns that the CARD_TYPE
    bits (that it does interpret) are invalid.
    Signed-off-by: default avatarAdrian Hunter <adrian.hunter@nokia.com>
    Cc: <linux-mmc@vger.kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    7198f3c9
mmc.c 15.5 KB