mac80211: Revert adding SM Power Save capability to hostapd configuration
authorJohn Crispin <john@openwrt.org>
Mon, 2 Feb 2015 09:01:44 +0000 (09:01 +0000)
committerJohn Crispin <john@openwrt.org>
Mon, 2 Feb 2015 09:01:44 +0000 (09:01 +0000)
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

package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh

index 72f9936..9526300 100644 (file)
@@ -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"
        }