scsi: qla2xxx: Do logout even if fabric scan retries got exhausted
authorQuinn Tran <qutran@marvell.com>
Mon, 29 Mar 2021 08:52:28 +0000 (01:52 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 30 Mar 2021 02:38:59 +0000 (22:38 -0400)
Perform logout of all remote ports so that all I/Os with driver are
requeued with midlayer for retry.

Link: https://lore.kernel.org/r/20210329085229.4367-12-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Saurav Kashyap <skashyap@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_gs.c

index 8e126af..5b6e04a 100644 (file)
@@ -3443,6 +3443,10 @@ void qla24xx_async_gnnft_done(scsi_qla_host_t *vha, srb_t *sp)
                        list_for_each_entry(fcport, &vha->vp_fcports, list) {
                                if ((fcport->flags & FCF_FABRIC_DEVICE) != 0) {
                                        fcport->scan_state = QLA_FCPORT_SCAN;
+                                       if (fcport->loop_id == FC_NO_LOOP_ID)
+                                               fcport->logout_on_delete = 0;
+                                       else
+                                               fcport->logout_on_delete = 1;
                                }
                        }
                        goto login_logout;