diff options
author | James Smart <james.smart@emulex.com> | 2014-02-20 15:57:57 +0100 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2014-03-15 18:18:57 +0100 |
commit | 06918ac56682bea444981c46297147bd5acd02c2 (patch) | |
tree | 1b19fd8379dd7e535c73fe69a700242d78668425 /drivers/scsi/lpfc/lpfc_init.c | |
parent | [SCSI] lpfc 8.3.45: Fixed driver error messages after firmware download (diff) | |
download | linux-06918ac56682bea444981c46297147bd5acd02c2.tar.xz linux-06918ac56682bea444981c46297147bd5acd02c2.zip |
[SCSI] lpfc 8.3.45: Fixed crash during driver unload.
Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_init.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_init.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c index f622c8811344..635eeb3d6987 100644 --- a/drivers/scsi/lpfc/lpfc_init.c +++ b/drivers/scsi/lpfc/lpfc_init.c @@ -1006,9 +1006,14 @@ lpfc_rrq_timeout(unsigned long ptr) phba = (struct lpfc_hba *)ptr; spin_lock_irqsave(&phba->pport->work_port_lock, iflag); - phba->hba_flag |= HBA_RRQ_ACTIVE; + if (!(phba->pport->load_flag & FC_UNLOADING)) + phba->hba_flag |= HBA_RRQ_ACTIVE; + else + phba->hba_flag &= ~HBA_RRQ_ACTIVE; spin_unlock_irqrestore(&phba->pport->work_port_lock, iflag); - lpfc_worker_wake_up(phba); + + if (!(phba->pport->load_flag & FC_UNLOADING)) + lpfc_worker_wake_up(phba); } /** |