From a0cc6803c8c78dba5bdc0f2b6b6c5031f3c08132 Mon Sep 17 00:00:00 2001
From: John Crispin <john@openwrt.org>
Date: Mon, 2 Feb 2015 09:01:44 +0000
Subject: [PATCH] mac80211: Revert adding SM Power Save capability to hostapd
 configuration

Part of rev 44173 added setting the SM Power Save capability in the hostapd.conf
file if the driver indicated that it was supported. It appears this was
incorrect, because the field in the actual HT Capabilities field in the AP
configuration is really a state indication. Just copying the state from the
capability resulted in the AP indicating that it had SMPS enabled all the time
if it supported SMPS. This effectively just disables all clients from sending
packets to the AP with more than one spatial stream, for no good reason.
So remove this part of the change.

Signed-off-by: Robert Hancock <hancockrwd@gmail.com>

SVN-Revision: 44239
---
 .../kernel/mac80211/files/lib/netifd/wireless/mac80211.sh | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
index 72f9936b40..9526300379 100644
--- a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
+++ b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
@@ -42,7 +42,6 @@ drv_mac80211_init_device_config() {
 		greenfield \
 		short_gi_20 \
 		short_gi_40 \
-		smps \
 		max_amsdu \
 		dsss_cck_40
 }
@@ -132,7 +131,6 @@ mac80211_hostapd_setup_base() {
 			greenfield:0 \
 			short_gi_20:1 \
 			short_gi_40:1 \
-			smps:1 \
 			tx_stbc:1 \
 			rx_stbc:3 \
 			max_amsdu:1 \
@@ -143,8 +141,6 @@ mac80211_hostapd_setup_base() {
 			ht_cap_mask="$(($ht_cap_mask | $cap))"
 		done
 
-		cap_smps=$((($ht_cap_mask >> 2) & 3))
-
 		cap_rx_stbc=$((($ht_cap_mask >> 8) & 3))
 		[ "$rx_stbc" -lt "$cap_rx_stbc" ] && cap_rx_stbc="$rx_stbc"
 		ht_cap_mask="$(( ($ht_cap_mask & ~(0x300)) | ($cap_rx_stbc << 8) ))"
@@ -161,10 +157,6 @@ mac80211_hostapd_setup_base() {
 			MAX-AMSDU-7935:0x800::$max_amsdu \
 			DSSS_CCK-40:0x1000::$dsss_cck_40
 
-		# SM Power Save: 0=static, 1=dynamic, 3=disabled
-		[ "$smps" = 1 -a "$cap_smps" = 0 ] && ht_capab_flags="$ht_capab_flags[SMPS-STATIC]"
-		[ "$smps" = 1 -a "$cap_smps" = 1 ] && ht_capab_flags="$ht_capab_flags[SMPS-DYNAMIC]"
-
 		ht_capab="$ht_capab$ht_capab_flags"
 		[ -n "$ht_capab" ] && append base_cfg "ht_capab=$ht_capab" "$N"
 	}
-- 
GitLab