From: Quinn Tran <quinn.t...@cavium.com>

After relogin is sucessful, "send_els_logo" flag
needs to be reinitialized. This will allow next
re-login to happen successfully.

In target mode, this flag was not reset correctly,
causing IO's failure during reset recovery and port
ON/OFF test cases from initiator.

Signed-off-by: Quinn Tran <quinn.t...@cavium.com>
Signed-off-by: Sawan Chandak <sawan.chan...@cavium.com>
Signed-off-by: Himanshu Madhani <himanshu.madh...@cavium.com>
---
 drivers/scsi/qla2xxx/qla_init.c   | 1 +
 drivers/scsi/qla2xxx/qla_target.c | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index 73a6c3abb115..b5b48ddca962 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -1464,6 +1464,7 @@ qla24xx_handle_plogi_done_event(struct scsi_qla_host 
*vha, struct event_arg *ea)
                                __func__, __LINE__, ea->fcport->port_name);
                        ea->fcport->chip_reset = 
vha->hw->base_qpair->chip_reset;
                        ea->fcport->logout_on_delete = 1;
+                       ea->fcport->send_els_logo = 0;
                        qla24xx_post_gpdb_work(vha, ea->fcport, 0);
                }
                break;
diff --git a/drivers/scsi/qla2xxx/qla_target.c 
b/drivers/scsi/qla2xxx/qla_target.c
index 192554b1536f..f05cfc83c9c8 100644
--- a/drivers/scsi/qla2xxx/qla_target.c
+++ b/drivers/scsi/qla2xxx/qla_target.c
@@ -585,11 +585,13 @@ void qla2x00_async_nack_sp_done(void *s, int res)
                sp->fcport->fw_login_state = DSC_LS_PLOGI_COMP;
                sp->fcport->logout_on_delete = 1;
                sp->fcport->plogi_nack_done_deadline = jiffies + HZ;
+               sp->fcport->send_els_logo = 0;
                break;
 
        case SRB_NACK_PRLI:
                sp->fcport->fw_login_state = DSC_LS_PRLI_COMP;
                sp->fcport->deleted = 0;
+               sp->fcport->send_els_logo = 0;
 
                if (!sp->fcport->login_succ &&
                    !IS_SW_RESV_ADDR(sp->fcport->d_id)) {
-- 
2.12.0

Reply via email to