aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/linux/linux-2.6.25/cm-x270/0003-mmcsd_large_cards-r0.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/linux/linux-2.6.25/cm-x270/0003-mmcsd_large_cards-r0.patch')
-rw-r--r--recipes/linux/linux-2.6.25/cm-x270/0003-mmcsd_large_cards-r0.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/recipes/linux/linux-2.6.25/cm-x270/0003-mmcsd_large_cards-r0.patch b/recipes/linux/linux-2.6.25/cm-x270/0003-mmcsd_large_cards-r0.patch
new file mode 100644
index 0000000000..f0df086287
--- /dev/null
+++ b/recipes/linux/linux-2.6.25/cm-x270/0003-mmcsd_large_cards-r0.patch
@@ -0,0 +1,36 @@
+From b98b85eba9b31d79217b5c6e0aae42a038b033b7 Mon Sep 17 00:00:00 2001
+From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
+Date: Fri, 20 Jul 2007 19:02:55 -0400
+Subject: [PATCH] mmcsd_large_cards-r0
+
+---
+ drivers/mmc/card/block.c | 6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
+index 91ded3e..5640c5b 100644
+--- a/drivers/mmc/card/block.c
++++ b/drivers/mmc/card/block.c
+@@ -409,6 +409,7 @@ static struct mmc_blk_data *mmc_blk_alloc(struct mmc_card *card)
+ {
+ struct mmc_blk_data *md;
+ int devidx, ret;
++ unsigned long cap;
+
+ devidx = find_first_zero_bit(dev_use, MMC_NUM_MINORS);
+ if (devidx >= MMC_NUM_MINORS)
+@@ -472,6 +473,11 @@ static struct mmc_blk_data *mmc_blk_alloc(struct mmc_card *card)
+
+ sprintf(md->disk->disk_name, "mmcblk%d", devidx);
+
++ if (card->csd.read_blkbits > 9)
++ md->block_bits = 9;
++ else
++ md->block_bits = card->csd.read_blkbits;
++
+ blk_queue_hardsect_size(md->queue.queue, 1 << md->block_bits);
+
+ if (!mmc_card_sd(card) && mmc_card_blockaddr(card)) {
+--
+1.5.4.rc4
+