diff options
author | Tim Sell <Timothy.Sell@unisys.com> | 2015-07-09 13:27:49 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-07-14 18:34:59 -0700 |
commit | 3798ff31d1fb1ee33de619ffc81a6a56c3ccb973 (patch) | |
tree | cea6198b9684781471ff10a3a3c2e5201359e4de /drivers/staging/unisys | |
parent | 46df82267eb26f4f6859e1564dbc9580f57dc542 (diff) | |
download | op-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.c | 3 |
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; } |