2010-06-22 08:20:05

by Rabin Vincent

[permalink] [raw]
Subject: [PATCH] mmc: only set blockaddressed for > 2GiB cards

From: Hanumath Prasad <[email protected]>

A non-zero value of SEC_COUNT does not indicate that the card is sector
addressed. According to the MMC specification, cards with a density
greater than 2GiB are sector addressed.

Acked-by: Linus Walleij <[email protected]>
Signed-off-by: Hanumath Prasad <[email protected]>
Signed-off-by: Rabin Vincent <[email protected]>
---
drivers/mmc/core/mmc.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
index 89f7a25..1dc784e 100644
--- a/drivers/mmc/core/mmc.c
+++ b/drivers/mmc/core/mmc.c
@@ -222,7 +222,9 @@ static int mmc_read_ext_csd(struct mmc_card *card)
ext_csd[EXT_CSD_SEC_CNT + 1] << 8 |
ext_csd[EXT_CSD_SEC_CNT + 2] << 16 |
ext_csd[EXT_CSD_SEC_CNT + 3] << 24;
- if (card->ext_csd.sectors)
+
+ /* Cards with density > 2GiB are sector addressed */
+ if (card->ext_csd.sectors > (2u * 1024 * 1024 * 1024) / 512)
mmc_card_set_blockaddr(card);
}

--
1.7.0


2010-07-30 17:28:50

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH] mmc: only set blockaddressed for > 2GiB cards

2010/6/22 Rabin Vincent <[email protected]>:

> From: Hanumath Prasad <[email protected]>
>
> A non-zero value of SEC_COUNT does not indicate that the card is sector
> addressed. ?According to the MMC specification, cards with a density
> greater than 2GiB are sector addressed.

What's happening with this beauty? Andrew would you mind
picking this one up please?

Yours,
Linus Walleij

2010-07-30 23:35:11

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH] mmc: only set blockaddressed for > 2GiB cards

On Fri, 30 Jul 2010 19:28:44 +0200
Linus Walleij <[email protected]> wrote:

> 2010/6/22 Rabin Vincent <[email protected]>:
>
> > From: Hanumath Prasad <[email protected]>
> >
> > A non-zero value of SEC_COUNT does not indicate that the card is sector
> > addressed. __According to the MMC specification, cards with a density
> > greater than 2GiB are sector addressed.
>
> What's happening with this beauty? Andrew would you mind
> picking this one up please?

I merged that a month ago, for 2.6.36.

If we think that it should be in 2.6.35 (and earlier?) then please send
along revised changelog text which explains the reason for that.

2010-07-31 08:49:21

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH] mmc: only set blockaddressed for > 2GiB cards

2010/7/31 Andrew Morton <[email protected]>:
> On Fri, 30 Jul 2010 19:28:44 +0200
> Linus Walleij <[email protected]> wrote:
>
>> 2010/6/22 Rabin Vincent <[email protected]>:
>>
>> > From: Hanumath Prasad <[email protected]>
>> >
>> > A non-zero value of SEC_COUNT does not indicate that the card is sector
>> > addressed. __According to the MMC specification, cards with a density
>> > greater than 2GiB are sector addressed.
>>
>> What's happening with this beauty? Andrew would you mind
>> picking this one up please?
>
> I merged that a month ago, for 2.6.36.

Aha sorry I didn't see it, it wasn't in -next I rely too much on that tree
I believe. I'll check directly in your patchstack for stuff henceforth.

Thanks and sorry for the trouble!

Yours,
Linus Walleij