mac80211: reprogram in interface order
authorJohannes Berg <johannes.berg@intel.com>
Tue, 8 Dec 2015 14:04:39 +0000 (16:04 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 15 Dec 2015 12:13:59 +0000 (13:13 +0100)
commit1ea2c864808e525247d2b6cfdb61b93fe669145e
tree74ef74dda5947e96e9b52de08838684e0b63c683
parent74430f9489a3b6116a5c144eea2bc62cd52012f6
mac80211: reprogram in interface order

During reprogramming, mac80211 currently first adds all the channel
contexts, then binds them to the vifs and then goes to reconfigure
all the interfaces. Drivers might, perhaps implicitly, rely on the
operation order for certain things that typically happen within a
single function elsewhere in mac80211. To avoid problems with that,
reorder the code in mac80211's restart/reprogramming to work fully
within the interface loop so that the order of operations is like
in normal operation.

For iwlwifi, this fixes a firmware crash when reprogramming with an
AP/GO interface active.

Reported-by: David Spinadel <david.spinadel@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/util.c