mac80211: clarify interface iteration and make it configurable
During hardware restart, all interfaces are iterated even though they haven't been re-added to the driver, document this behaviour. The same also happens during resume, which is even more confusing since all of the interfaces were previously removed from the driver. Make this optional so drivers relying on the current behaviour can still use it, but to let drivers that don't want this behaviour disable it. Also convert all API users, keeping the old semantics except in hwsim, where the new normal ones are desired. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
此提交包含在:
@@ -424,9 +424,9 @@ int rt2x00mac_set_tim(struct ieee80211_hw *hw, struct ieee80211_sta *sta,
|
||||
if (!test_bit(DEVICE_STATE_ENABLED_RADIO, &rt2x00dev->flags))
|
||||
return 0;
|
||||
|
||||
ieee80211_iterate_active_interfaces_atomic(rt2x00dev->hw,
|
||||
rt2x00mac_set_tim_iter,
|
||||
rt2x00dev);
|
||||
ieee80211_iterate_active_interfaces_atomic(
|
||||
rt2x00dev->hw, IEEE80211_IFACE_ITER_RESUME_ALL,
|
||||
rt2x00mac_set_tim_iter, rt2x00dev);
|
||||
|
||||
/* queue work to upodate the beacon template */
|
||||
ieee80211_queue_work(rt2x00dev->hw, &rt2x00dev->intf_work);
|
||||
|
新增問題並參考
封鎖使用者