]> git.baikalelectronics.ru Git - kernel.git/commit
PCI: pciehp: Fix wrong workqueue cleanup
authorKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Mon, 7 Nov 2011 11:55:46 +0000 (20:55 +0900)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Mon, 5 Dec 2011 18:21:46 +0000 (10:21 -0800)
commitbced94eb5a7bcbb2c65ebafa97c8ad5ebfd42b33
tree564d7597177b1b69fa5260f1949888c8aeb5497d
parent50c1de5ddf2b7bbb8b3a13f289b27a21ad28b4a8
PCI: pciehp: Fix wrong workqueue cleanup

Fix improper workqueue cleanup.

In the current pciehp, pcied_cleanup() calls destroy_workqueue()
before calling pcie_port_service_unregister(). This causes kernel oops
because flush_workqueue() is called in the pcie_port_service_unregister()
code path after the workqueue was destroyed. So pcied_cleanup() must call
pcie_port_service_unregister() first before calling destroy_workqueue().

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
drivers/pci/hotplug/pciehp_core.c