scsi: qla2xxx: Fix NVMe and NPIV connect issue
authorQuinn Tran <qutran@marvell.com>
Fri, 15 Nov 2024 13:03:11 +0000 (18:33 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 4 Dec 2024 18:22:59 +0000 (13:22 -0500)
commit4812b7796c144f63a1094f79a5eb8fbdad8d7ebc
tree78d065d36be173ccaa8d504da2a8ab8c06d7c86b
parent833c70e212fc40d3e98da941796f4c7bcaecdf58
scsi: qla2xxx: Fix NVMe and NPIV connect issue

NVMe controller fails to send connect command due to failure to locate
hw context buffer for NVMe queue 0 (blk_mq_hw_ctx, hctx_idx=0). The
cause of the issue is NPIV host did not initialize the vha->irq_offset
field.  This field is given to blk-mq (blk_mq_pci_map_queues) to help
locate the beginning of IO Queues which in turn help locate NVMe queue
0.

Initialize this field to allow NVMe to work properly with NPIV host.

 kernel: nvme nvme5: Connect command failed, errno: -18
 kernel: nvme nvme5: qid 0: secure concatenation is not supported
 kernel: nvme nvme5: NVME-FC{5}: create_assoc failed, assoc_id 2e9100 ret 401
 kernel: nvme nvme5: NVME-FC{5}: reset: Reconnect attempt failed (401)
 kernel: nvme nvme5: NVME-FC{5}: Reconnect attempt in 2 seconds

Cc: stable@vger.kernel.org
Fixes: f0783d43dde4 ("scsi: qla2xxx: Use correct number of vectors for online CPUs")
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Link: https://lore.kernel.org/r/20241115130313.46826-6-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_mid.c