diff options
Diffstat (limited to 'arch/m68k/emu/nfblock.c')
| -rw-r--r-- | arch/m68k/emu/nfblock.c | 10 | 
1 files changed, 7 insertions, 3 deletions
diff --git a/arch/m68k/emu/nfblock.c b/arch/m68k/emu/nfblock.c index a708fbd5a844..642fb80c5c4e 100644 --- a/arch/m68k/emu/nfblock.c +++ b/arch/m68k/emu/nfblock.c @@ -96,6 +96,9 @@ static const struct block_device_operations nfhd_ops = {  static int __init nfhd_init_one(int id, u32 blocks, u32 bsize)  { +	struct queue_limits lim = { +		.logical_block_size	= bsize, +	};  	struct nfhd_device *dev;  	int dev_id = id - NFHD_DEV_OFFSET;  	int err = -ENOMEM; @@ -117,9 +120,11 @@ static int __init nfhd_init_one(int id, u32 blocks, u32 bsize)  	dev->bsize = bsize;  	dev->bshift = ffs(bsize) - 10; -	dev->disk = blk_alloc_disk(NUMA_NO_NODE); -	if (!dev->disk) +	dev->disk = blk_alloc_disk(&lim, NUMA_NO_NODE); +	if (IS_ERR(dev->disk)) { +		err = PTR_ERR(dev->disk);  		goto free_dev; +	}  	dev->disk->major = major_num;  	dev->disk->first_minor = dev_id * 16; @@ -128,7 +133,6 @@ static int __init nfhd_init_one(int id, u32 blocks, u32 bsize)  	dev->disk->private_data = dev;  	sprintf(dev->disk->disk_name, "nfhd%u", dev_id);  	set_capacity(dev->disk, (sector_t)blocks * (bsize / 512)); -	blk_queue_logical_block_size(dev->disk->queue, bsize);  	err = add_disk(dev->disk);  	if (err)  		goto out_cleanup_disk;  |