blob: 87c46d71447acab69aa1dc78707c793e8d5263a6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
From nobody Mon Sep 17 00:00:00 2001
From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
Date: Tue Apr 3 22:16:15 2007 -0400
Subject: [PATCH] mmcsd_large_cards r0
large card patch
---
drivers/mmc/mmc_block.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
base deaa2960bd8fb1f706a935cd7a87321977e6f568
last b6144d28fde6225f49d1d56e49b333b7ff11d8dd
diff --git a/drivers/mmc/mmc_block.c b/drivers/mmc/mmc_block.c
index 87713572293f0d3044e077e1b9944617dc14ce1f..8ebf6c6d672236ee23081769aebd7aaffea70d1a 100644
--- a/drivers/mmc/mmc_block.c
+++ b/drivers/mmc/mmc_block.c
@@ -406,6 +406,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);
/*
--
1.4.4.4
|