]> git.karo-electronics.de Git - karo-tx-linux.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>
Tue, 13 Dec 2011 18:41:47 +0000 (10:41 -0800)
commit5b6d9d6e9b3bd4780b48f3c1c613c6acc40de2a1
tree1c5512076614b1f53db4edb1c6e1b48b0890039d
parent78ed686c828991244c6913730e5c18a44b61e24f
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