diff options
Diffstat (limited to 'recipes/linux/linux-2.6.23/cm-x270/0007-mmcsd_large_cards-r0.patch')
-rw-r--r-- | recipes/linux/linux-2.6.23/cm-x270/0007-mmcsd_large_cards-r0.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/recipes/linux/linux-2.6.23/cm-x270/0007-mmcsd_large_cards-r0.patch b/recipes/linux/linux-2.6.23/cm-x270/0007-mmcsd_large_cards-r0.patch new file mode 100644 index 0000000000..0f53fb445e --- /dev/null +++ b/recipes/linux/linux-2.6.23/cm-x270/0007-mmcsd_large_cards-r0.patch @@ -0,0 +1,36 @@ +From 9fb3d9729cf908539a769b701d66c708658eff97 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 93fe2e5..7ce961f 100644 +--- a/drivers/mmc/card/block.c ++++ b/drivers/mmc/card/block.c +@@ -408,6 +408,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) +@@ -471,6 +472,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.2.5 + |