forked from luck/tmp_suning_uos_patched
[SCSI] qla2xxx: Change in setting UNLOADING flag and FC vports logout sequence while unloading qla2xxx driver.
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Cc: <stable@vger.kernel.org> #3.7 Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
parent
a394aac885
commit
220d36b4c2
drivers/scsi/qla2xxx
@ -1615,8 +1615,7 @@ qla2x00_terminate_rport_io(struct fc_rport *rport)
|
||||
* At this point all fcport's software-states are cleared. Perform any
|
||||
* final cleanup of firmware resources (PCBs and XCBs).
|
||||
*/
|
||||
if (fcport->loop_id != FC_NO_LOOP_ID &&
|
||||
!test_bit(UNLOADING, &fcport->vha->dpc_flags)) {
|
||||
if (fcport->loop_id != FC_NO_LOOP_ID) {
|
||||
if (IS_FWI2_CAPABLE(fcport->vha->hw))
|
||||
fcport->vha->hw->isp_ops->fabric_logout(fcport->vha,
|
||||
fcport->loop_id, fcport->d_id.b.domain,
|
||||
|
@ -2755,6 +2755,7 @@ qla2x00_remove_one(struct pci_dev *pdev)
|
||||
|
||||
ha->flags.host_shutting_down = 1;
|
||||
|
||||
set_bit(UNLOADING, &base_vha->dpc_flags);
|
||||
mutex_lock(&ha->vport_lock);
|
||||
while (ha->cur_vport_count) {
|
||||
struct Scsi_Host *scsi_host;
|
||||
@ -2784,8 +2785,6 @@ qla2x00_remove_one(struct pci_dev *pdev)
|
||||
"Error while clearing DRV-Presence.\n");
|
||||
}
|
||||
|
||||
set_bit(UNLOADING, &base_vha->dpc_flags);
|
||||
|
||||
qla2x00_abort_all_cmds(base_vha, DID_NO_CONNECT << 16);
|
||||
|
||||
qla2x00_dfs_remove(base_vha);
|
||||
|
Loading…
Reference in New Issue
Block a user