Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

mac80211: don't stop beaconing when going offchannel (INTERNAL)

wl12xx manages the channel per-role, so there is no need
to explicitly stop beaconing when doing offchannel operations,
as the device will take care of it by itself.

This way we avoid redundant stop_ap/start_ap calls when
doing offchannel operations on another vif (e.g. auth)

NOTE: this patch shouldn't go upstream. we have to come up
with more generic multi-channel solution...

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
  • Loading branch information...
commit 3bfda25c7460fdc3a35054f09954630d2bc12f7c 1 parent 6ebc443
@elp elp authored ariknem committed
Showing with 6 additions and 4 deletions.
  1. +6 −4 net/mac80211/offchannel.c
View
10 net/mac80211/offchannel.c
@@ -115,7 +115,7 @@ void ieee80211_offchannel_stop_vifs(struct ieee80211_local *local,
list_for_each_entry(sdata, &local->interfaces, list) {
if (!ieee80211_sdata_running(sdata))
continue;
-
+#if 0
if (sdata->vif.type != NL80211_IFTYPE_MONITOR)
set_bit(SDATA_STATE_OFFCHANNEL, &sdata->state);
@@ -125,7 +125,7 @@ void ieee80211_offchannel_stop_vifs(struct ieee80211_local *local,
sdata->vif.type == NL80211_IFTYPE_MESH_POINT)
ieee80211_bss_info_change_notify(
sdata, BSS_CHANGED_BEACON_ENABLED);
-
+#endif
if (sdata->vif.type != NL80211_IFTYPE_MONITOR) {
netif_tx_stop_all_queues(sdata->dev);
if (offchannel_ps_enable &&
@@ -144,9 +144,10 @@ void ieee80211_offchannel_return(struct ieee80211_local *local,
mutex_lock(&local->iflist_mtx);
list_for_each_entry(sdata, &local->interfaces, list) {
+#if 0
if (sdata->vif.type != NL80211_IFTYPE_MONITOR)
clear_bit(SDATA_STATE_OFFCHANNEL, &sdata->state);
-
+#endif
if (!ieee80211_sdata_running(sdata))
continue;
@@ -170,12 +171,13 @@ void ieee80211_offchannel_return(struct ieee80211_local *local,
*/
netif_tx_wake_all_queues(sdata->dev);
}
-
+#if 0
if (sdata->vif.type == NL80211_IFTYPE_AP ||
sdata->vif.type == NL80211_IFTYPE_ADHOC ||
sdata->vif.type == NL80211_IFTYPE_MESH_POINT)
ieee80211_bss_info_change_notify(
sdata, BSS_CHANGED_BEACON_ENABLED);
+#endif
}
mutex_unlock(&local->iflist_mtx);
}
Please sign in to comment.
Something went wrong with that request. Please try again.