summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSaurav Kashyap <skashyap@marvell.com>2020-08-06 04:10:11 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-09-03 11:27:00 +0200
commit36a139cf4146264828b5a2ce6e83f71bf5bd1089 (patch)
tree7af4bbb0815d7943773a9837827badc8c2bfba1f
parent88274626d110ed10cbc46e6420668eb329527ba0 (diff)
downloadlinux-stable-36a139cf4146264828b5a2ce6e83f71bf5bd1089.tar.gz
scsi: qla2xxx: Check if FW supports MQ before enabling
[ Upstream commit dffa11453313a115157b19021cc2e27ea98e624c ] OS boot during Boot from SAN was stuck at dracut emergency shell after enabling NVMe driver parameter. For non-MQ support the driver was enabling MQ. Add a check to confirm if FW supports MQ. Link: https://lore.kernel.org/r/20200806111014.28434-9-njavali@marvell.com Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com> Signed-off-by: Saurav Kashyap <skashyap@marvell.com> Signed-off-by: Nilesh Javali <njavali@marvell.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/scsi/qla2xxx/qla_os.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index d91c95d9981a..67b1e74fcd1e 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -1993,6 +1993,11 @@ skip_pio:
/* Determine queue resources */
ha->max_req_queues = ha->max_rsp_queues = 1;
ha->msix_count = QLA_BASE_VECTORS;
+
+ /* Check if FW supports MQ or not */
+ if (!(ha->fw_attributes & BIT_6))
+ goto mqiobase_exit;
+
if (!ql2xmqsupport || !ql2xnvmeenable ||
(!IS_QLA25XX(ha) && !IS_QLA81XX(ha)))
goto mqiobase_exit;