diff options
Diffstat (limited to 'net/mac80211/main.c')
| -rw-r--r-- | net/mac80211/main.c | 13 | 
1 files changed, 9 insertions, 4 deletions
| diff --git a/net/mac80211/main.c b/net/mac80211/main.c index 1822c77f2b1c..56fb47953b72 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c @@ -913,12 +913,17 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)  		supp_ht = supp_ht || sband->ht_cap.ht_supported;  		supp_vht = supp_vht || sband->vht_cap.vht_supported; -		if (sband->ht_cap.ht_supported) -			local->rx_chains = -				max(ieee80211_mcs_to_chains(&sband->ht_cap.mcs), -				    local->rx_chains); +		if (!sband->ht_cap.ht_supported) +			continue;  		/* TODO: consider VHT for RX chains, hopefully it's the same */ +		local->rx_chains = +			max(ieee80211_mcs_to_chains(&sband->ht_cap.mcs), +			    local->rx_chains); + +		/* no need to mask, SM_PS_DISABLED has all bits set */ +		sband->ht_cap.cap |= WLAN_HT_CAP_SM_PS_DISABLED << +			             IEEE80211_HT_CAP_SM_PS_SHIFT;  	}  	/* if low-level driver supports AP, we also support VLAN */ | 
