diff options
| author | Felix Fietkau <nbd@openwrt.org> | 2013-08-20 19:43:54 +0200 | 
|---|---|---|
| committer | Johannes Berg <johannes.berg@intel.com> | 2013-08-21 15:03:25 +0200 | 
| commit | 2dfca312a91631311c1cf7c090246cc8103de038 (patch) | |
| tree | 3830dfe9ef53716ec408976758fe63019c498f6b /drivers/net | |
| parent | 2a3ba63c235fdcd37f6451bdf4a0c7865a3930cf (diff) | |
mac80211: add a flag to indicate CCK support for HT clients
brcm80211 cannot handle sending frames with CCK rates as part of an
A-MPDU session. Other drivers may have issues too. Set the flag in all
drivers that have been tested with CCK rates.
This fixes a reported brcmsmac regression introduced in
commit ef47a5e4f1aaf1d0e2e6875e34b2c9595897bef6
"mac80211/minstrel_ht: fix cck rate sampling"
Cc: stable@vger.kernel.org # 3.10
Reported-by: Tom Gundersen <teg@jklm.no>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net')
| -rw-r--r-- | drivers/net/wireless/ath/ath9k/init.c | 3 | ||||
| -rw-r--r-- | drivers/net/wireless/ath/carl9170/main.c | 3 | ||||
| -rw-r--r-- | drivers/net/wireless/rt2x00/rt2800lib.c | 3 | 
3 files changed, 6 insertions, 3 deletions
| diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c index 16f8b201642b..026a2a067b46 100644 --- a/drivers/net/wireless/ath/ath9k/init.c +++ b/drivers/net/wireless/ath/ath9k/init.c @@ -802,7 +802,8 @@ void ath9k_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw)  		IEEE80211_HW_PS_NULLFUNC_STACK |  		IEEE80211_HW_SPECTRUM_MGMT |  		IEEE80211_HW_REPORTS_TX_ACK_STATUS | -		IEEE80211_HW_SUPPORTS_RC_TABLE; +		IEEE80211_HW_SUPPORTS_RC_TABLE | +		IEEE80211_HW_SUPPORTS_HT_CCK_RATES;  	if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_HT) {  		hw->flags |= IEEE80211_HW_AMPDU_AGGREGATION; diff --git a/drivers/net/wireless/ath/carl9170/main.c b/drivers/net/wireless/ath/carl9170/main.c index 4a33c6e39ca2..349fa22a921a 100644 --- a/drivers/net/wireless/ath/carl9170/main.c +++ b/drivers/net/wireless/ath/carl9170/main.c @@ -1860,7 +1860,8 @@ void *carl9170_alloc(size_t priv_size)  		     IEEE80211_HW_PS_NULLFUNC_STACK |  		     IEEE80211_HW_NEED_DTIM_BEFORE_ASSOC |  		     IEEE80211_HW_SUPPORTS_RC_TABLE | -		     IEEE80211_HW_SIGNAL_DBM; +		     IEEE80211_HW_SIGNAL_DBM | +		     IEEE80211_HW_SUPPORTS_HT_CCK_RATES;  	if (!modparam_noht) {  		/* diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c index 1f80ea5e29dd..1b41c8eda12d 100644 --- a/drivers/net/wireless/rt2x00/rt2800lib.c +++ b/drivers/net/wireless/rt2x00/rt2800lib.c @@ -6133,7 +6133,8 @@ static int rt2800_probe_hw_mode(struct rt2x00_dev *rt2x00dev)  	    IEEE80211_HW_SUPPORTS_PS |  	    IEEE80211_HW_PS_NULLFUNC_STACK |  	    IEEE80211_HW_AMPDU_AGGREGATION | -	    IEEE80211_HW_REPORTS_TX_ACK_STATUS; +	    IEEE80211_HW_REPORTS_TX_ACK_STATUS | +	    IEEE80211_HW_SUPPORTS_HT_CCK_RATES;  	/*  	 * Don't set IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING for USB devices | 
