Merge tag 'x86-asm-2024-03-11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
[linux-2.6-block.git] / drivers / memstick / core / ms_block.c
index 04115cd92433bfb9134708f0e3373bb21baa7c19..47a314a4eb6fafc76482ff3010b35298d3423ec7 100644 (file)
@@ -2078,6 +2078,12 @@ static const struct blk_mq_ops msb_mq_ops = {
 static int msb_init_disk(struct memstick_dev *card)
 {
        struct msb_data *msb = memstick_get_drvdata(card);
+       struct queue_limits lim = {
+               .logical_block_size     = msb->page_size,
+               .max_hw_sectors         = MS_BLOCK_MAX_PAGES,
+               .max_segments           = MS_BLOCK_MAX_SEGS,
+               .max_segment_size       = MS_BLOCK_MAX_PAGES * msb->page_size,
+       };
        int rc;
        unsigned long capacity;
 
@@ -2093,19 +2099,13 @@ static int msb_init_disk(struct memstick_dev *card)
        if (rc)
                goto out_release_id;
 
-       msb->disk = blk_mq_alloc_disk(&msb->tag_set, card);
+       msb->disk = blk_mq_alloc_disk(&msb->tag_set, &lim, card);
        if (IS_ERR(msb->disk)) {
                rc = PTR_ERR(msb->disk);
                goto out_free_tag_set;
        }
        msb->queue = msb->disk->queue;
 
-       blk_queue_max_hw_sectors(msb->queue, MS_BLOCK_MAX_PAGES);
-       blk_queue_max_segments(msb->queue, MS_BLOCK_MAX_SEGS);
-       blk_queue_max_segment_size(msb->queue,
-                                  MS_BLOCK_MAX_PAGES * msb->page_size);
-       blk_queue_logical_block_size(msb->queue, msb->page_size);
-
        sprintf(msb->disk->disk_name, "msblk%d", msb->disk_id);
        msb->disk->fops = &msb_bdops;
        msb->disk->private_data = msb;