diff options
author | Sawan Chandak <sawan.chandak@qlogic.com> | 2014-09-25 11:16:52 +0200 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2014-09-25 14:25:03 +0200 |
commit | 9d35894d338abc351cad8b0c0d5fb3e992f5cea9 (patch) | |
tree | 074de26ae93329527cdc4c3cfb8d94ae6a0109d9 /drivers/scsi/qla2xxx | |
parent | qla2xxx: Unload of qla2xxx driver crashes the machine. (diff) | |
download | linux-9d35894d338abc351cad8b0c0d5fb3e992f5cea9.tar.xz linux-9d35894d338abc351cad8b0c0d5fb3e992f5cea9.zip |
qla2xxx: Add fix in driver unload for pending activity.
Signed-off-by: Sawan Chandak <sawan.chandak@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'drivers/scsi/qla2xxx')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_os.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index 4880f0b2daa3..72b94f9ca637 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c @@ -860,8 +860,10 @@ qla2x00_wait_for_hba_ready(scsi_qla_host_t *vha) { struct qla_hw_data *ha = vha->hw; - while ((!(vha->flags.online) || ha->dpc_active || - ha->flags.mbox_busy)) + while (((qla2x00_reset_active(vha)) || ha->dpc_active || + ha->flags.mbox_busy) || + test_bit(FX00_RESET_RECOVERY, &vha->dpc_flags) || + test_bit(FX00_TARGET_SCAN, &vha->dpc_flags)) msleep(1000); } |