X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fmtd%2Fmtd_blkdevs.c;fp=drivers%2Fmtd%2Fmtd_blkdevs.c;h=b134315ab51854d4416cd677b0295ef1e4b60af3;hb=9bf4aaab3e101692164d49b7ca357651eb691cb6;hp=4a0f2ea7c2860c6b68fc699c88a52ad65263a990;hpb=db216c3d5e4c040e557a50f8f5d35d5c415e8c1c;p=linux-2.6.git diff --git a/drivers/mtd/mtd_blkdevs.c b/drivers/mtd/mtd_blkdevs.c index 4a0f2ea7c..b134315ab 100644 --- a/drivers/mtd/mtd_blkdevs.c +++ b/drivers/mtd/mtd_blkdevs.c @@ -1,5 +1,5 @@ /* - * $Id: mtd_blkdevs.c,v 1.16 2003/06/23 13:34:43 dwmw2 Exp $ + * $Id: mtd_blkdevs.c,v 1.22 2004/07/12 12:35:28 dwmw2 Exp $ * * (C) 2003 David Woodhouse * @@ -220,7 +220,7 @@ static int blktrans_ioctl(struct inode *inode, struct file *file, return ret; g.start = get_start_sect(inode->i_bdev); - if (copy_to_user((void *)arg, &g, sizeof(g))) + if (copy_to_user((void __user *)arg, &g, sizeof(g))) return -EFAULT; return 0; } /* else */ @@ -295,7 +295,10 @@ int add_mtd_blktrans_dev(struct mtd_blktrans_dev *new) snprintf(gd->devfs_name, sizeof(gd->devfs_name), "%s/%c", tr->name, (tr->part_bits?'a':'0') + new->devnum); - set_capacity(gd, new->size); + /* 2.5 has capacity in units of 512 bytes while still + having BLOCK_SIZE_BITS set to 10. Just to keep us amused. */ + set_capacity(gd, (new->size * new->blksize) >> 9); + gd->private_data = new; new->blkcore_priv = gd; gd->queue = tr->blkcore_priv->rq;