]> 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>
Fri, 6 Jan 2012 20:10:27 +0000 (12:10 -0800)
commited2edde8b679e9acab49b0160ad225e73e4e79c5
tree8001a85d37812ee53ad2850bc003085afe997ed4
parent5adfff962196c0f58de195ac5ae1941cc55578e1
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