From: Greg KH <gregkh@suse.de>
To: linux-kernel@vger.kernel.org, stable@kernel.org
Cc: Justin Forbes <jmforbes@linuxtx.org>,
Zwane Mwaikambo <zwane@arm.linux.org.uk>,
"Theodore Ts'o" <tytso@mit.edu>,
Randy Dunlap <rdunlap@xenotime.net>,
Dave Jones <davej@redhat.com>,
Chuck Wolber <chuckw@quantumlinux.com>,
Chris Wedgwood <reviews@ml.cw.f00f.org>,
Michael Krufky <mkrufky@linuxtv.org>,
torvalds@osdl.org, akpm@osdl.org, alan@lxorguk.ukuu.org.uk,
drzeus@drzeus.cx, Daniel Drake <dsd@gentoo.org>,
Greg Kroah-Hartman <gregkh@suse.de>
Subject: [patch 17/19] MMC: Always use a sector size of 512 bytes
Date: Tue, 10 Oct 2006 10:15:48 -0700 [thread overview]
Message-ID: <20061010171548.GR6339@kroah.com> (raw)
In-Reply-To: <20061010171350.GA6339@kroah.com>
[-- Attachment #1: mmc-always-use-a-sector-size-of-512-bytes.patch --]
[-- Type: text/plain, Size: 2664 bytes --]
-stable review patch. If anyone has any objections, please let us know.
------------------
From: Pierre Ossman <drzeus@drzeus.cx>
Both MMC and SD specifications specify (although a bit unclearly in the MMC
case) that a sector size of 512 bytes must always be supported by the card.
Cards can report larger "native" size than this, and cards >= 2 GB even
must do so. Most other readers use 512 bytes even for these cards. We should
do the same to be compatible.
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Cc: Daniel Drake <dsd@gentoo.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/mmc/mmc_block.c | 49 +++---------------------------------------------
1 file changed, 4 insertions(+), 45 deletions(-)
--- linux-2.6.17.13.orig/drivers/mmc/mmc_block.c
+++ linux-2.6.17.13/drivers/mmc/mmc_block.c
@@ -325,52 +325,11 @@ static struct mmc_blk_data *mmc_blk_allo
md->read_only = mmc_blk_readonly(card);
/*
- * Figure out a workable block size. MMC cards have:
- * - two block sizes, one for read and one for write.
- * - may support partial reads and/or writes
- * (allows block sizes smaller than specified)
+ * Both SD and MMC specifications state (although a bit
+ * unclearly in the MMC case) that a block size of 512
+ * bytes must always be supported by the card.
*/
- md->block_bits = card->csd.read_blkbits;
- if (card->csd.write_blkbits != card->csd.read_blkbits) {
- if (card->csd.write_blkbits < card->csd.read_blkbits &&
- card->csd.read_partial) {
- /*
- * write block size is smaller than read block
- * size, but we support partial reads, so choose
- * the smaller write block size.
- */
- md->block_bits = card->csd.write_blkbits;
- } else if (card->csd.write_blkbits > card->csd.read_blkbits &&
- card->csd.write_partial) {
- /*
- * read block size is smaller than write block
- * size, but we support partial writes. Use read
- * block size.
- */
- } else {
- /*
- * We don't support this configuration for writes.
- */
- printk(KERN_ERR "%s: unable to select block size for "
- "writing (rb%u wb%u rp%u wp%u)\n",
- mmc_card_id(card),
- 1 << card->csd.read_blkbits,
- 1 << card->csd.write_blkbits,
- card->csd.read_partial,
- card->csd.write_partial);
- md->read_only = 1;
- }
- }
-
- /*
- * Refuse to allow block sizes smaller than 512 bytes.
- */
- if (md->block_bits < 9) {
- printk(KERN_ERR "%s: unable to support block size %u\n",
- mmc_card_id(card), 1 << md->block_bits);
- ret = -EINVAL;
- goto err_kfree;
- }
+ md->block_bits = 9;
md->disk = alloc_disk(1 << MMC_SHIFT);
if (md->disk == NULL) {
--
next prev parent reply other threads:[~2006-10-10 17:18 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20061010165621.394703368@quad.kroah.org>
2006-10-10 17:13 ` [patch 00/19] 2.6.17-stable review Greg KH
2006-10-10 17:14 ` [patch 01/19] dvb-core: Proper handling ULE SNDU length of 0 (CVE-2006-4623) Greg KH
2006-10-10 17:14 ` [patch 02/19] NFS: Fix a potential deadlock in nfs_release_page Greg KH
2006-10-10 17:14 ` [patch 03/19] SUNRPC: avoid choosing an IPMI port for RPC traffic Greg KH
2006-10-10 18:59 ` Jan Engelhardt
2006-10-11 23:45 ` Trond Myklebust
2006-10-12 1:12 ` Alan Cox
2006-10-12 1:35 ` Trond Myklebust
2006-10-12 1:53 ` Matt Domsch
2006-10-12 2:04 ` Trond Myklebust
2006-10-12 10:16 ` Alan Cox
2006-10-12 10:15 ` Alan Cox
2006-10-12 15:15 ` Trond Myklebust
2006-10-12 7:58 ` Jan Engelhardt
2006-10-12 8:35 ` Bernd Petrovitsch
2006-10-12 12:28 ` Jan Engelhardt
2006-10-12 15:01 ` Trond Myklebust
2006-10-12 15:49 ` Jan Engelhardt
2006-10-10 17:14 ` [patch 04/19] LOCKD: Fix a deadlock in nlm_traverse_files() Greg KH
2006-10-10 17:14 ` [patch 05/19] NFS: More page cache revalidation fixups Greg KH
2006-10-10 17:14 ` [patch 06/19] Backport: Old IDE, fix SATA detection for cabling Greg KH
2006-10-10 17:14 ` [patch 07/19] invalidate_complete_page() race fix Greg KH
2006-10-10 18:12 ` Hugh Dickins
2006-10-10 19:14 ` [stable] " Greg KH
2006-10-10 19:30 ` Andrew Morton
2006-10-10 17:14 ` [patch 08/19] ext3 sequential read regression fix Greg KH
2006-10-10 17:14 ` [patch 09/19] sysfs: remove duplicated dput in sysfs_update_file Greg KH
2006-10-10 17:15 ` [patch 10/19] Video: Fix msp343xG handling regression Greg KH
2006-10-10 17:15 ` [patch 11/19] Video: cx24123: fix PLL divisor setup Greg KH
2006-10-10 17:15 ` [patch 12/19] SPARC64: Fix serious bug in sched_clock() on sparc64 Greg KH
2006-10-10 17:15 ` [patch 13/19] Fix sparc64 ramdisk handling Greg KH
2006-10-10 17:15 ` [patch 14/19] PKT_SCHED: cls_basic: Use unsigned int when generating handle Greg KH
2006-10-10 17:15 ` [patch 15/19] xirc2ps_cs: Cannot reset card in atomic context Greg KH
2006-10-10 17:15 ` [patch 16/19] Add PIIX4 APCI quirk for the 440MX chipset too Greg KH
2006-10-10 17:15 ` Greg KH [this message]
2006-10-10 17:15 ` [patch 18/19] ahci: do not fail softreset if PHY reports no device Greg KH
2006-10-10 17:15 ` [patch 19/19] Input: logips2pp - fix button mapping for MX300 Greg KH
2006-10-10 17:59 ` [stable] [patch 00/19] 2.6.17-stable review Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20061010171548.GR6339@kroah.com \
--to=gregkh@suse.de \
--cc=akpm@osdl.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=chuckw@quantumlinux.com \
--cc=davej@redhat.com \
--cc=drzeus@drzeus.cx \
--cc=dsd@gentoo.org \
--cc=jmforbes@linuxtx.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mkrufky@linuxtv.org \
--cc=rdunlap@xenotime.net \
--cc=reviews@ml.cw.f00f.org \
--cc=stable@kernel.org \
--cc=torvalds@osdl.org \
--cc=tytso@mit.edu \
--cc=zwane@arm.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.