diff options
Diffstat (limited to 'drivers/block')
-rw-r--r-- | drivers/block/null_blk/main.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/block/null_blk/main.c b/drivers/block/null_blk/main.c index 83d803cb57c8..3b320b005aa8 100644 --- a/drivers/block/null_blk/main.c +++ b/drivers/block/null_blk/main.c @@ -1851,13 +1851,12 @@ static int null_add_dev(struct nullb_device *dev) rv = -ENOMEM; nullb->tag_set->timeout = 5 * HZ; - nullb->q = blk_mq_init_queue_data(nullb->tag_set, nullb); - if (IS_ERR(nullb->q)) + nullb->disk = blk_mq_alloc_disk(nullb->tag_set, nullb); + if (IS_ERR(nullb->disk)) { + rv = PTR_ERR(nullb->disk); goto out_cleanup_tags; - nullb->disk = alloc_disk_node(1, nullb->dev->home_node); - if (!nullb->disk) - goto out_cleanup_tags; - nullb->disk->queue = nullb->q; + } + nullb->q = nullb->disk->queue; } else if (dev->queue_mode == NULL_Q_BIO) { rv = -ENOMEM; nullb->disk = blk_alloc_disk(nullb->dev->home_node); |