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