| From d341e9a8f2cffe4000c610225c629f62c7489c74 Mon Sep 17 00:00:00 2001 |
| From: Martin Wilck <mwilck@suse.com> |
| Date: Fri, 22 Nov 2019 22:19:22 +0000 |
| Subject: scsi: qla2xxx: fix rports not being mark as lost in sync fabric scan |
| |
| From: Martin Wilck <mwilck@suse.com> |
| |
| commit d341e9a8f2cffe4000c610225c629f62c7489c74 upstream. |
| |
| In qla2x00_find_all_fabric_devs(), fcport->flags & FCF_LOGIN_NEEDED is a |
| necessary condition for logging into new rports, but not for dropping lost |
| ones. |
| |
| Fixes: 726b85487067 ("qla2xxx: Add framework for async fabric discovery") |
| Link: https://lore.kernel.org/r/20191122221912.20100-2-martin.wilck@suse.com |
| Tested-by: David Bond <dbond@suse.com> |
| Signed-off-by: Martin Wilck <mwilck@suse.com> |
| Acked-by: Himanshu Madhani <hmadhani@marvell.com> |
| Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/scsi/qla2xxx/qla_init.c | 6 +++--- |
| 1 file changed, 3 insertions(+), 3 deletions(-) |
| |
| --- a/drivers/scsi/qla2xxx/qla_init.c |
| +++ b/drivers/scsi/qla2xxx/qla_init.c |
| @@ -5710,8 +5710,7 @@ qla2x00_find_all_fabric_devs(scsi_qla_ho |
| if (test_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags)) |
| break; |
| |
| - if ((fcport->flags & FCF_FABRIC_DEVICE) == 0 || |
| - (fcport->flags & FCF_LOGIN_NEEDED) == 0) |
| + if ((fcport->flags & FCF_FABRIC_DEVICE) == 0) |
| continue; |
| |
| if (fcport->scan_state == QLA_FCPORT_SCAN) { |
| @@ -5734,7 +5733,8 @@ qla2x00_find_all_fabric_devs(scsi_qla_ho |
| } |
| } |
| |
| - if (fcport->scan_state == QLA_FCPORT_FOUND) |
| + if (fcport->scan_state == QLA_FCPORT_FOUND && |
| + (fcport->flags & FCF_LOGIN_NEEDED) != 0) |
| qla24xx_fcport_handle_login(vha, fcport); |
| } |
| return (rval); |