aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/mac80211/ht.c15
-rw-r--r--net/mac80211/ieee80211_i.h2
-rw-r--r--net/mac80211/rx.c3
3 files changed, 19 insertions, 1 deletions
diff --git a/net/mac80211/ht.c b/net/mac80211/ht.c
index d7523530d3f8..c78036a0ac94 100644
--- a/net/mac80211/ht.c
+++ b/net/mac80211/ht.c
@@ -466,6 +466,21 @@ void ieee80211_process_delba(struct ieee80211_sub_if_data *sdata,
466 __ieee80211_stop_tx_ba_session(sta, tid, AGG_STOP_PEER_REQUEST); 466 __ieee80211_stop_tx_ba_session(sta, tid, AGG_STOP_PEER_REQUEST);
467} 467}
468 468
469enum nl80211_smps_mode
470ieee80211_smps_mode_to_smps_mode(enum ieee80211_smps_mode smps)
471{
472 switch (smps) {
473 case IEEE80211_SMPS_OFF:
474 return NL80211_SMPS_OFF;
475 case IEEE80211_SMPS_STATIC:
476 return NL80211_SMPS_STATIC;
477 case IEEE80211_SMPS_DYNAMIC:
478 return NL80211_SMPS_DYNAMIC;
479 default:
480 return NL80211_SMPS_OFF;
481 }
482}
483
469int ieee80211_send_smps_action(struct ieee80211_sub_if_data *sdata, 484int ieee80211_send_smps_action(struct ieee80211_sub_if_data *sdata,
470 enum ieee80211_smps_mode smps, const u8 *da, 485 enum ieee80211_smps_mode smps, const u8 *da,
471 const u8 *bssid) 486 const u8 *bssid)
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index ae9c33cd8ada..9237ffb4e986 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -1788,6 +1788,8 @@ void ieee80211_tx_ba_session_handle_start(struct sta_info *sta, int tid);
1788void ieee80211_release_reorder_timeout(struct sta_info *sta, int tid); 1788void ieee80211_release_reorder_timeout(struct sta_info *sta, int tid);
1789 1789
1790u8 ieee80211_mcs_to_chains(const struct ieee80211_mcs_info *mcs); 1790u8 ieee80211_mcs_to_chains(const struct ieee80211_mcs_info *mcs);
1791enum nl80211_smps_mode
1792ieee80211_smps_mode_to_smps_mode(enum ieee80211_smps_mode smps);
1791 1793
1792/* VHT */ 1794/* VHT */
1793void 1795void
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index 27bb1f0b5e52..f8c69acfda48 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -2883,7 +2883,8 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx)
2883 if (rx->sta->sta.smps_mode == smps_mode) 2883 if (rx->sta->sta.smps_mode == smps_mode)
2884 goto handled; 2884 goto handled;
2885 rx->sta->sta.smps_mode = smps_mode; 2885 rx->sta->sta.smps_mode = smps_mode;
2886 sta_opmode.smps_mode = smps_mode; 2886 sta_opmode.smps_mode =
2887 ieee80211_smps_mode_to_smps_mode(smps_mode);
2887 sta_opmode.changed = STA_OPMODE_SMPS_MODE_CHANGED; 2888 sta_opmode.changed = STA_OPMODE_SMPS_MODE_CHANGED;
2888 2889
2889 sband = rx->local->hw.wiphy->bands[status->band]; 2890 sband = rx->local->hw.wiphy->bands[status->band];