diff mbox series

[1/2] qla2xxx: Fix FC-AL connection target discovery

Message ID 20190315220419.14010-2-hmadhani@marvell.com (mailing list archive)
State Mainlined
Commit 4705f10e82c63924bd84a9b31d15839ec9ba3d06
Headers show
Series qla2xxx: fixes for qla2xxx | expand

Commit Message

Himanshu Madhani March 15, 2019, 10:04 p.m. UTC
From: Quinn Tran <qtran@marvell.com>

Commit 7f147f9bfd44 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>
---
 drivers/scsi/qla2xxx/qla_init.c | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Ewan Milne March 18, 2019, 2:05 p.m. UTC | #1
On Fri, 2019-03-15 at 15:04 -0700, Himanshu Madhani wrote:
> From: Quinn Tran <qtran@marvell.com>
> 
> Commit 7f147f9bfd44 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>
> ---
>  drivers/scsi/qla2xxx/qla_init.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
> index 5b395af1aa22..e64d3d2d3c78 100644
> --- a/drivers/scsi/qla2xxx/qla_init.c
> +++ b/drivers/scsi/qla2xxx/qla_init.c
> @@ -4990,6 +4990,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;

Would be better I think to test (ha->current_topology == ISP_CFG_NL) first
in the if statement but logically looks fine.

Reviewed-by: Ewan D. Milne <emilne@redhat.com>
diff mbox series

Patch

diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index 5b395af1aa22..e64d3d2d3c78 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -4990,6 +4990,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;