diff options
Diffstat (limited to 'drivers/mmc/core/mmc.c')
| -rw-r--r-- | drivers/mmc/core/mmc.c | 4 | 
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c index 0eac6c81490..89f7a25b7ac 100644 --- a/drivers/mmc/core/mmc.c +++ b/drivers/mmc/core/mmc.c @@ -11,6 +11,7 @@   */  #include <linux/err.h> +#include <linux/slab.h>  #include <linux/mmc/host.h>  #include <linux/mmc/card.h> @@ -225,7 +226,7 @@ static int mmc_read_ext_csd(struct mmc_card *card)  			mmc_card_set_blockaddr(card);  	} -	switch (ext_csd[EXT_CSD_CARD_TYPE]) { +	switch (ext_csd[EXT_CSD_CARD_TYPE] & EXT_CSD_CARD_TYPE_MASK) {  	case EXT_CSD_CARD_TYPE_52 | EXT_CSD_CARD_TYPE_26:  		card->ext_csd.hs_max_dtr = 52000000;  		break; @@ -237,7 +238,6 @@ static int mmc_read_ext_csd(struct mmc_card *card)  		printk(KERN_WARNING "%s: card is mmc v4 but doesn't "  			"support any high-speed modes.\n",  			mmc_hostname(card->host)); -		goto out;  	}  	if (card->ext_csd.rev >= 3) {  |