scsi: qla2xxx: Fix FC-AL connection target discovery
authorQuinn Tran <qtran@marvell.com>
Fri, 15 Mar 2019 22:04:18 +0000 (15:04 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 19 Mar 2019 18:31:40 +0000 (14:31 -0400)
Commit 7f147f9bfd44 ("scsi: qla2xxx: Fix N2N target discovery with Local
loop") fixed N2N target discovery for local loop.  However, same code is
used for FC-AL discovery as well. Added check to make sure we are bypassing
area and domain check only in N2N topology for target discovery.

Fixes: 7f147f9bfd44 ("scsi: qla2xxx: Fix N2N target discovery with Local loop")
Cc: stable@vger.kernel.org # 5.0+
Signed-off-by: Quinn Tran <qtran@marvell.com>
Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
Reviewed-by: Ewan D. Milne <emilne@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_init.c

index 420045155ba042fbf316463fe6c087f0ba032412..0c700b140ce7d943e4df404a493ba2257c886e56 100644 (file)
@@ -4991,6 +4991,13 @@ qla2x00_configure_local_loop(scsi_qla_host_t *vha)
                if ((domain & 0xf0) == 0xf0)
                        continue;
 
+               /* Bypass if not same domain and area of adapter. */
+               if (area && domain && ((area != vha->d_id.b.area) ||
+                   (domain != vha->d_id.b.domain)) &&
+                   (ha->current_topology == ISP_CFG_NL))
+                       continue;
+
+
                /* Bypass invalid local loop ID. */
                if (loop_id > LAST_LOCAL_LOOP_ID)
                        continue;