diff options
author | Roland Dreier <roland@purestorage.com> | 2012-05-09 10:51:01 -0700 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2012-05-09 12:34:03 -0700 |
commit | 8df330a5eb6d5000263556687081d302e135f641 (patch) | |
tree | 35aa19ef34b182e79ff729b5c04d8725415a9ae4 | |
parent | 3269d930536f4dd9a431cfaca877c1c2cccb0fe6 (diff) | |
download | lio-core-8df330a5eb6d5000263556687081d302e135f641.tar.gz |
qla2xxx: Add missing call to qlt_fc_port_deleted()
qla2x00_schedule_rport_del() calls fc_remote_port_delete(), which
starts a timer to tear down an rport structure. We need a call to
qlt_fc_port_deleted() here. Otherwise, if the FC transport timer
expires and tears down the rport, the initiator will be logged out and
the target code's notion of what sessions it has will get out of sync
with the rest of the driver and the firmware.
Signed-off-by: Roland Dreier <roland@purestorage.com>
Cc: Arun Easi <arun.easi@qlogic.com>
Cc: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
-rw-r--r-- | drivers/scsi/qla2xxx/qla_os.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index 11d41c722f7369..a43ebce54ee86e 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c @@ -2879,8 +2879,10 @@ qla2x00_schedule_rport_del(struct scsi_qla_host *vha, fc_port_t *fcport, spin_unlock_irqrestore(vha->host->host_lock, flags); set_bit(FCPORT_UPDATE_NEEDED, &base_vha->dpc_flags); qla2xxx_wake_dpc(base_vha); - } else + } else { fc_remote_port_delete(rport); + qlt_fc_port_deleted(vha, fcport); + } } /* |