mac80211: fix ieee80211_txq_setup_flows() failure path
authorJohannes Berg <johannes.berg@intel.com>
Tue, 5 Nov 2019 14:41:11 +0000 (15:41 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 8 Nov 2019 08:11:33 +0000 (09:11 +0100)
If ieee80211_txq_setup_flows() fails, we don't clean up LED
state properly, leading to crashes later on, fix that.

Fixes: dc8b274f0952 ("mac80211: Move up init of TXQs")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Acked-by: Toke Høiland-Jørgensen <toke@toke.dk>
Link: https://lore.kernel.org/r/20191105154110.1ccf7112ba5d.I0ba865792446d051867b33153be65ce6b063d98c@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/main.c

index aba094b4ccfc0918859186552b730dde74934c03..2d05c4cfaf6d6401217e6fe19387e112a25a1f7b 100644 (file)
@@ -1292,8 +1292,8 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
        ieee80211_remove_interfaces(local);
  fail_rate:
        rtnl_unlock();
-       ieee80211_led_exit(local);
  fail_flows:
+       ieee80211_led_exit(local);
        destroy_workqueue(local->workqueue);
  fail_workqueue:
        wiphy_unregister(local->hw.wiphy);