diff options
Diffstat (limited to 'meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0007-mmcsd_large_cards-r0.patch')
-rw-r--r-- | meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0007-mmcsd_large_cards-r0.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0007-mmcsd_large_cards-r0.patch b/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0007-mmcsd_large_cards-r0.patch new file mode 100644 index 0000000000..90e66b5308 --- /dev/null +++ b/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0007-mmcsd_large_cards-r0.patch | |||
@@ -0,0 +1,36 @@ | |||
1 | From 26638b93f7479dc597a58e2e2b2832c6ff4c8f7b Mon Sep 17 00:00:00 2001 | ||
2 | From: Cliff Brake <cbrake@happy.dev.bec-systems.com> | ||
3 | Date: Fri, 20 Jul 2007 19:02:55 -0400 | ||
4 | Subject: [PATCH] mmcsd_large_cards-r0 | ||
5 | |||
6 | --- | ||
7 | drivers/mmc/card/block.c | 6 ++++++ | ||
8 | 1 files changed, 6 insertions(+), 0 deletions(-) | ||
9 | |||
10 | diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c | ||
11 | index 540ff4b..1f8d67d 100644 | ||
12 | --- a/drivers/mmc/card/block.c | ||
13 | +++ b/drivers/mmc/card/block.c | ||
14 | @@ -403,6 +403,7 @@ static struct mmc_blk_data *mmc_blk_alloc(struct mmc_card *card) | ||
15 | { | ||
16 | struct mmc_blk_data *md; | ||
17 | int devidx, ret; | ||
18 | + unsigned long cap; | ||
19 | |||
20 | devidx = find_first_zero_bit(dev_use, MMC_NUM_MINORS); | ||
21 | if (devidx >= MMC_NUM_MINORS) | ||
22 | @@ -467,6 +468,11 @@ static struct mmc_blk_data *mmc_blk_alloc(struct mmc_card *card) | ||
23 | |||
24 | sprintf(md->disk->disk_name, "mmcblk%d", devidx); | ||
25 | |||
26 | + if (card->csd.read_blkbits > 9) | ||
27 | + md->block_bits = 9; | ||
28 | + else | ||
29 | + md->block_bits = card->csd.read_blkbits; | ||
30 | + | ||
31 | blk_queue_hardsect_size(md->queue.queue, 1 << md->block_bits); | ||
32 | |||
33 | if (!mmc_card_sd(card) && mmc_card_blockaddr(card)) { | ||
34 | -- | ||
35 | 1.5.1.6 | ||
36 | |||