[PATCH] sd: read-only switch
Support for the read-only switch on SD cards which must be enforced by the host. Signed-off-by: Pierre Ossman <drzeus@drzeus.cx> Cc: Russell King <rmk@arm.linux.org.uk> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
committed by
Linus Torvalds
parent
335eadf2ef
commit
a00fc09029
@@ -95,6 +95,10 @@ static int mmc_blk_open(struct inode *inode, struct file *filp)
|
||||
if (md->usage == 2)
|
||||
check_disk_change(inode->i_bdev);
|
||||
ret = 0;
|
||||
|
||||
if ((filp->f_mode & FMODE_WRITE) &&
|
||||
mmc_card_readonly(md->queue.card))
|
||||
ret = -EROFS;
|
||||
}
|
||||
|
||||
return ret;
|
||||
@@ -403,9 +407,10 @@ static int mmc_blk_probe(struct mmc_card *card)
|
||||
if (err)
|
||||
goto out;
|
||||
|
||||
printk(KERN_INFO "%s: %s %s %dKiB\n",
|
||||
printk(KERN_INFO "%s: %s %s %dKiB %s\n",
|
||||
md->disk->disk_name, mmc_card_id(card), mmc_card_name(card),
|
||||
(card->csd.capacity << card->csd.read_blkbits) / 1024);
|
||||
(card->csd.capacity << card->csd.read_blkbits) / 1024,
|
||||
mmc_card_readonly(card)?"(ro)":"");
|
||||
|
||||
mmc_set_drvdata(card, md);
|
||||
add_disk(md->disk);
|
||||
|
Reference in New Issue
Block a user