diff options
author | John Soni Jose <sony.john-n@emulex.com> | 2014-09-26 15:13:55 -0400 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2014-09-30 09:29:55 +0200 |
commit | 53281edb2942c4d7abf12846b6b0591caf2bee4d (patch) | |
tree | c4c52bf4bc1b8eca066d364efd565d68768be7f1 /drivers/scsi/be2iscsi | |
parent | f4303d8fa6da702b5fe53fa91a6984941d89d514 (diff) | |
download | linux-53281edb2942c4d7abf12846b6b0591caf2bee4d.tar.bz2 |
be2iscsi : Fix kernel panic during reboot/shutdown
In the reboot/shutdown path, workqueue was destroyed after the
adapter resource were freed. The task associated with workqueue
was getting executed after resources were freed. This lead to
kernel panic.
Signed-off-by: John Soni Jose <sony.john-n@emulex.com>
Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'drivers/scsi/be2iscsi')
-rw-r--r-- | drivers/scsi/be2iscsi/be_main.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/be2iscsi/be_main.c b/drivers/scsi/be2iscsi/be_main.c index db2bd4d5311a..30d74a06b993 100644 --- a/drivers/scsi/be2iscsi/be_main.c +++ b/drivers/scsi/be2iscsi/be_main.c @@ -5223,6 +5223,7 @@ static void beiscsi_quiesce(struct beiscsi_hba *phba, free_irq(phba->pcidev->irq, phba); } pci_disable_msix(phba->pcidev); + cancel_delayed_work_sync(&phba->beiscsi_hw_check_task); for (i = 0; i < phba->num_cpus; i++) { pbe_eq = &phwi_context->be_eq[i]; @@ -5244,7 +5245,6 @@ static void beiscsi_quiesce(struct beiscsi_hba *phba, hwi_cleanup(phba); } - cancel_delayed_work_sync(&phba->beiscsi_hw_check_task); } static void beiscsi_remove(struct pci_dev *pcidev) |