]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
mac802154: Fixes kernel oops when unloading a radio driver
authorKoen Zandberg <koen@bergzand.net>
Wed, 10 Feb 2016 10:49:38 +0000 (11:49 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 23 Feb 2016 19:29:40 +0000 (20:29 +0100)
Destroying the workqueue before unregistering the net device caused a
kernel oops

Signed-off-by: Koen Zandberg <koen@bergzand.net>
Acked-by: Alexander Aring <aar@pengutronix.de>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/mac802154/main.c

index e8cab5bb80c664669f9c34b36e5e9178db83ae13..87da85ae5a6b1ace5f6cdda2c0a9b8e01c8c5ba6 100644 (file)
@@ -218,7 +218,6 @@ void ieee802154_unregister_hw(struct ieee802154_hw *hw)
 
        tasklet_kill(&local->tasklet);
        flush_workqueue(local->workqueue);
-       destroy_workqueue(local->workqueue);
 
        rtnl_lock();
 
@@ -226,6 +225,7 @@ void ieee802154_unregister_hw(struct ieee802154_hw *hw)
 
        rtnl_unlock();
 
+       destroy_workqueue(local->workqueue);
        wpan_phy_unregister(local->phy);
 }
 EXPORT_SYMBOL(ieee802154_unregister_hw);