]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
scsi: qla2xxx: Fix initiator mode with qlini_mode=exclusive
authorTony Battersby <tonyb@cybernetics.com>
Mon, 10 Nov 2025 15:48:45 +0000 (10:48 -0500)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 12 Nov 2025 23:07:50 +0000 (18:07 -0500)
When given the module parameter qlini_mode=exclusive, qla2xxx in
initiator mode is initially unable to successfully send SCSI commands to
devices it finds while scanning, resulting in an escalating series of
resets until an adapter reset clears the issue.  Fix by checking the
active mode instead of the module parameter.

Signed-off-by: Tony Battersby <tonyb@cybernetics.com>
Link: https://patch.msgid.link/1715ec14-ba9a-45dc-9cf2-d41aa6b81b5e@cybernetics.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_os.c

index fb8292d3f3588b9843952f9496eaa9aa23fecb04..848ee6c88311bc330e58a2e05d592468e50ab4f9 100644 (file)
@@ -3438,13 +3438,7 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
                ha->mqenable = 0;
 
        if (ha->mqenable) {
-               bool startit = false;
-
-               if (QLA_TGT_MODE_ENABLED())
-                       startit = false;
-
-               if (ql2x_ini_mode == QLA2XXX_INI_MODE_ENABLED)
-                       startit = true;
+               bool startit = !!(host->active_mode & MODE_INITIATOR);
 
                /* Create start of day qpairs for Block MQ */
                for (i = 0; i < ha->max_qpairs; i++)