]> 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, 6 Dec 2011 17:26:02 +0000 (09:26 -0800)
commitd22adec56449d0139acd2d7863284776896dfd67
tree1da4f02854356d6e989c19261c3c0b3e7e02c972
parent846b6ffe3ea35ada0f0d690e33161dd0e8d9f265
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