[PATCH v2 6/6] Enable n-rates

Olof Johansson dev at skyshaper.net
Fri Jun 14 02:36:50 EDT 2013


This will enable n-rates on access points with support for n-rates.

Signed-off-by: Olof Johansson <dev at skyshaper.net>
---
 main.c | 8 ++++++++
 smd.c  | 6 +++---
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/main.c b/main.c
index 4fd37bf..22944e9 100644
--- a/main.c
+++ b/main.c
@@ -452,6 +452,14 @@ static void wcn36xx_update_allowed_rates(struct
wcn36xx *wcn,
 		}
 	}

+	if (sta->ht_cap.ht_supported) {
+		memcpy(wcn->supported_rates.supported_mcs_set,
+		       sta->ht_cap.mcs.rx_mask,
+		       sizeof(sta->ht_cap.mcs.rx_mask));
+		BUILD_BUG_ON(sizeof(sta->ht_cap.mcs.rx_mask) >
+			     sizeof(wcn->supported_rates.supported_mcs_set));
+	}
+
 }

 static void wcn36xx_bss_info_changed(struct ieee80211_hw *hw,
diff --git a/smd.c b/smd.c
index c83481e..734664f 100644
--- a/smd.c
+++ b/smd.c
@@ -505,7 +505,7 @@ int wcn36xx_smd_config_sta(struct wcn36xx *wcn,
const u8 *bssid,

 	sta->listen_interval = 0x8;
 	sta->wmm_enabled = 0;
-	sta->ht_capable = 0;
+	sta->ht_capable = wcn->supported_rates.supported_mcs_set[0] ? 1 : 0;
 	sta->tx_channel_width_set = 0;
 	sta->rifs_mode = 0;
 	sta->lsig_txop_protection = 0;
@@ -726,7 +726,7 @@ int wcn36xx_smd_config_bss(struct wcn36xx *wcn,
enum nl80211_iftype type,
 		wcn36xx_warn("Unknown type for bss config: %d", type);
 	}

-	bss->nw_type = WCN36XX_HAL_11G_NW_TYPE;
+	bss->nw_type = WCN36XX_HAL_11N_NW_TYPE;
 	bss->short_slot_time_supported = 0;
 	bss->lla_coexist = 0;
 	bss->llb_coexist = 0;
@@ -750,7 +750,7 @@ int wcn36xx_smd_config_bss(struct wcn36xx *wcn,
enum nl80211_iftype type,
 	memcpy(&sta->mac, &wcn->addresses[0], ETH_ALEN);
 	sta->listen_interval = 8;
 	sta->wmm_enabled = 0;
-	sta->ht_capable = 0;
+	sta->ht_capable = wcn->supported_rates.supported_mcs_set[0] ? 1 : 0;
 	sta->tx_channel_width_set = 0;
 	sta->rifs_mode = 0;
 	sta->lsig_txop_protection = 0;
-- 
1.8.2.2



More information about the wcn36xx mailing list