diff options
author | Andrew Vasquez <andrew.vasquez@qlogic.com> | 2012-02-09 14:15:43 -0500 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-02-19 09:19:18 -0500 |
commit | af11f64dfd634e8116b7c4e2422e0e0c698b91c1 (patch) | |
tree | 9a16df493c3181bc7296f8c3420df73ad54fe586 /drivers/scsi/qla2xxx/qla_attr.c | |
parent | 0b91d1169e5382040d80622fe79e40c60ff88555 (diff) |
[SCSI] qla2xxx: Perform implicit logout during rport tear-down.
During rport tear-down, make sure we do an implicit LOGO of the fcport in our
firmware to try to clear any residual commands associated with that fcport.
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_attr.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_attr.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/scsi/qla2xxx/qla_attr.c b/drivers/scsi/qla2xxx/qla_attr.c index 5433f95f3edd..e21db2f78224 100644 --- a/drivers/scsi/qla2xxx/qla_attr.c +++ b/drivers/scsi/qla2xxx/qla_attr.c | |||
@@ -1647,10 +1647,14 @@ qla2x00_terminate_rport_io(struct fc_rport *rport) | |||
1647 | * final cleanup of firmware resources (PCBs and XCBs). | 1647 | * final cleanup of firmware resources (PCBs and XCBs). |
1648 | */ | 1648 | */ |
1649 | if (fcport->loop_id != FC_NO_LOOP_ID && | 1649 | if (fcport->loop_id != FC_NO_LOOP_ID && |
1650 | !test_bit(UNLOADING, &fcport->vha->dpc_flags)) | 1650 | !test_bit(UNLOADING, &fcport->vha->dpc_flags)) { |
1651 | fcport->vha->hw->isp_ops->fabric_logout(fcport->vha, | 1651 | if (IS_FWI2_CAPABLE(fcport->vha->hw)) |
1652 | fcport->loop_id, fcport->d_id.b.domain, | 1652 | fcport->vha->hw->isp_ops->fabric_logout(fcport->vha, |
1653 | fcport->d_id.b.area, fcport->d_id.b.al_pa); | 1653 | fcport->loop_id, fcport->d_id.b.domain, |
1654 | fcport->d_id.b.area, fcport->d_id.b.al_pa); | ||
1655 | else | ||
1656 | qla2x00_port_logout(fcport->vha, fcport); | ||
1657 | } | ||
1654 | } | 1658 | } |
1655 | 1659 | ||
1656 | static int | 1660 | static int |