Commit e7c09df1 authored by John Garry's avatar John Garry Committed by Martin K. Petersen
Browse files

scsi: core: Pass sdev to blk_mq_alloc_queue()



When calling scsi_alloc_sdev() -> blk_mq_alloc_queue(), we don't pass
the sdev as the queuedata, but rather manually set it afterwards. Just
pass to blk_mq_alloc_queue() to have automatically set.

Signed-off-by: default avatarJohn Garry <john.g.garry@oracle.com>
Link: https://lore.kernel.org/r/20240524084829.2132555-2-john.g.garry@oracle.com


Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
Tested-by: default avatarHimanshu Madhani <himanshu.madhani@oracle.com>
Reviewed-by: default avatarHimanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 1613e604
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -334,7 +334,7 @@ static struct scsi_device *scsi_alloc_sdev(struct scsi_target *starget,
	sdev->sg_reserved_size = INT_MAX;

	scsi_init_limits(shost, &lim);
	q = blk_mq_alloc_queue(&sdev->host->tag_set, &lim, NULL);
	q = blk_mq_alloc_queue(&sdev->host->tag_set, &lim, sdev);
	if (IS_ERR(q)) {
		/* release fn is set up in scsi_sysfs_device_initialise, so
		 * have to free and put manually here */
@@ -344,7 +344,6 @@ static struct scsi_device *scsi_alloc_sdev(struct scsi_target *starget,
	}
	kref_get(&sdev->host->tagset_refcnt);
	sdev->request_queue = q;
	q->queuedata = sdev;

	depth = sdev->host->cmd_per_lun ?: 1;