From edbf02b0f062d801cae083b18fa7b4645a9c5a95 Mon Sep 17 00:00:00 2001 From: Adrian Hunter Date: Tue, 23 Mar 2010 13:35:40 -0700 Subject: [PATCH] --- yaml --- r: 188923 b: refs/heads/master c: 7198f3c9b13c7aa1e5d9f7ff74c0ea303174feff h: refs/heads/master i: 188921: e03df9bb781caf20480a7a0ffba9f84ff96d92c0 188919: f759dddf4bf31ad89e5b15402ec4f7c200caeae7 v: v3 --- [refs] | 2 +- trunk/drivers/mmc/core/mmc.c | 3 +-- trunk/include/linux/mmc/mmc.h | 1 + 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index c0a377294545..1040074899c3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3f8b5ee33293d43ca360771b535dfae8c57259dc +refs/heads/master: 7198f3c9b13c7aa1e5d9f7ff74c0ea303174feff diff --git a/trunk/drivers/mmc/core/mmc.c b/trunk/drivers/mmc/core/mmc.c index 0eac6c814904..e041c003db22 100644 --- a/trunk/drivers/mmc/core/mmc.c +++ b/trunk/drivers/mmc/core/mmc.c @@ -225,7 +225,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 +237,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) { diff --git a/trunk/include/linux/mmc/mmc.h b/trunk/include/linux/mmc/mmc.h index c02c8db73701..8a49cbf0376d 100644 --- a/trunk/include/linux/mmc/mmc.h +++ b/trunk/include/linux/mmc/mmc.h @@ -268,6 +268,7 @@ struct _mmc_csd { #define EXT_CSD_CARD_TYPE_26 (1<<0) /* Card can run at 26MHz */ #define EXT_CSD_CARD_TYPE_52 (1<<1) /* Card can run at 52MHz */ +#define EXT_CSD_CARD_TYPE_MASK 0x3 /* Mask out reserved and DDR bits */ #define EXT_CSD_BUS_WIDTH_1 0 /* Card is in 1 bit mode */ #define EXT_CSD_BUS_WIDTH_4 1 /* Card is in 4 bit mode */