|
@@ -241,6 +241,7 @@ static struct block2mtd_dev *add_device(char *devname, int erase_size)
|
|
{
|
|
{
|
|
struct block_device *bdev;
|
|
struct block_device *bdev;
|
|
struct block2mtd_dev *dev;
|
|
struct block2mtd_dev *dev;
|
|
|
|
+ char *name;
|
|
|
|
|
|
if (!devname)
|
|
if (!devname)
|
|
return NULL;
|
|
return NULL;
|
|
@@ -279,12 +280,13 @@ static struct block2mtd_dev *add_device(char *devname, int erase_size)
|
|
|
|
|
|
/* Setup the MTD structure */
|
|
/* Setup the MTD structure */
|
|
/* make the name contain the block device in */
|
|
/* make the name contain the block device in */
|
|
- dev->mtd.name = kmalloc(sizeof("block2mtd: ") + strlen(devname),
|
|
|
|
|
|
+ name = kmalloc(sizeof("block2mtd: ") + strlen(devname) + 1,
|
|
GFP_KERNEL);
|
|
GFP_KERNEL);
|
|
- if (!dev->mtd.name)
|
|
|
|
|
|
+ if (!name)
|
|
goto devinit_err;
|
|
goto devinit_err;
|
|
|
|
|
|
- sprintf(dev->mtd.name, "block2mtd: %s", devname);
|
|
|
|
|
|
+ sprintf(name, "block2mtd: %s", devname);
|
|
|
|
+ dev->mtd.name = name;
|
|
|
|
|
|
dev->mtd.size = dev->blkdev->bd_inode->i_size & PAGE_MASK;
|
|
dev->mtd.size = dev->blkdev->bd_inode->i_size & PAGE_MASK;
|
|
dev->mtd.erasesize = erase_size;
|
|
dev->mtd.erasesize = erase_size;
|