mac80211: set SDATA_STATE_RUNNING for monitor interfaces
authorBorwankar, Antara <antara.borwankar@intel.com>
Sun, 29 Nov 2020 15:30:53 +0000 (17:30 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 4 Dec 2020 11:45:25 +0000 (12:45 +0100)
During restarrt, mac80211 is supposed to reconfigure the driver.
When there's a monitor interface, the interface is added and the
channel context for it was created, but not assigned to it as it
was not considered running during the restart.

Fix this by setting SDATA_STATE_RUNNING while adding monitor
interfaces.

Signed-off-by: Borwankar, Antara <antara.borwankar@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20201129172929.e1df99693a4c.I494579f28018c2d0b9d4083a664cf872c28405ae@changeid
[reword commit log]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/iface.c

index 1be7759..44154cc 100644 (file)
@@ -948,6 +948,8 @@ int ieee80211_add_virtual_monitor(struct ieee80211_local *local)
                return ret;
        }
 
+       set_bit(SDATA_STATE_RUNNING, &sdata->state);
+
        ret = ieee80211_check_queues(sdata, NL80211_IFTYPE_MONITOR);
        if (ret) {
                kfree(sdata);