Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

John Soni Jose and committed by
Christoph Hellwig
53281edb f4303d8f

+1 -1
+1 -1
drivers/scsi/be2iscsi/be_main.c
··· 5223 5223 free_irq(phba->pcidev->irq, phba); 5224 5224 } 5225 5225 pci_disable_msix(phba->pcidev); 5226 + cancel_delayed_work_sync(&phba->beiscsi_hw_check_task); 5226 5227 5227 5228 for (i = 0; i < phba->num_cpus; i++) { 5228 5229 pbe_eq = &phwi_context->be_eq[i]; ··· 5245 5244 hwi_cleanup(phba); 5246 5245 } 5247 5246 5248 - cancel_delayed_work_sync(&phba->beiscsi_hw_check_task); 5249 5247 } 5250 5248 5251 5249 static void beiscsi_remove(struct pci_dev *pcidev)