summaryrefslogtreecommitdiffstats
path: root/drivers/staging/unisys
diff options
context:
space:
mode:
authorTim Sell <Timothy.Sell@unisys.com>2015-07-09 13:27:49 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-07-14 18:34:59 -0700
commit3798ff31d1fb1ee33de619ffc81a6a56c3ccb973 (patch)
treecea6198b9684781471ff10a3a3c2e5201359e4de /drivers/staging/unisys
parent46df82267eb26f4f6859e1564dbc9580f57dc542 (diff)
downloadop-kernel-dev-3798ff31d1fb1ee33de619ffc81a6a56c3ccb973.zip
op-kernel-dev-3798ff31d1fb1ee33de619ffc81a6a56c3ccb973.tar.gz
staging: unisys: visornic: don't destroy global workqueues until devs destroyed
visornic_cleanup() was previously incorrectly destroying its global workqueues prior to cleaning up the devices which used them. This patch corrects the order of these operations. Signed-off-by: Tim Sell <Timothy.Sell@unisys.com> Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/unisys')
-rw-r--r--drivers/staging/unisys/visornic/visornic_main.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/staging/unisys/visornic/visornic_main.c b/drivers/staging/unisys/visornic/visornic_main.c
index ba46053..14977ad 100644
--- a/drivers/staging/unisys/visornic/visornic_main.c
+++ b/drivers/staging/unisys/visornic/visornic_main.c
@@ -2241,6 +2241,8 @@ cleanup_debugfs:
*/
static void visornic_cleanup(void)
{
+ visorbus_unregister_visor_driver(&visornic_driver);
+
if (visornic_serverdown_workqueue) {
flush_workqueue(visornic_serverdown_workqueue);
destroy_workqueue(visornic_serverdown_workqueue);
@@ -2251,7 +2253,6 @@ static void visornic_cleanup(void)
}
debugfs_remove_recursive(visornic_debugfs_dir);
- visorbus_unregister_visor_driver(&visornic_driver);
kfree(dev_num_pool);
dev_num_pool = NULL;
}
OpenPOWER on IntegriCloud