[PATCH 08/13] smd: use real ssid on AP mode

Kalle Valo kvalo at qca.qualcomm.com
Thu May 23 07:07:19 EDT 2013


Signed-off-by: Kalle Valo <kvalo at qca.qualcomm.com>
---
 main.c    |   10 ++++++++++
 smd.c     |    7 +++++--
 wcn36xx.h |    1 +
 3 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/main.c b/main.c
index a5e490b..416ed2b 100644
--- a/main.c
+++ b/main.c
@@ -201,6 +201,16 @@ static void wcn36xx_bss_info_changed(struct ieee80211_hw *hw,
 		}
 	}
 
+	if (changed & BSS_CHANGED_SSID) {
+		wcn36xx_dbg(WCN36XX_DBG_MAC,
+			    "mac bss changed ssid");
+		wcn36xx_dbg_dump(WCN36XX_DBG_MAC, "ssid ",
+				 bss_conf->ssid, bss_conf->ssid_len);
+
+		wcn->ssid.length = bss_conf->ssid_len;
+		memcpy(&wcn->ssid.ssid, bss_conf->ssid, bss_conf->ssid_len);
+	}
+
 	if (changed & BSS_CHANGED_AP_PROBE_RESP) {
 		wcn36xx_dbg(WCN36XX_DBG_MAC, "mac bss changed ap probe resp");
 		skb = ieee80211_proberesp_get(hw, vif);
diff --git a/smd.c b/smd.c
index ea1662a..1c9c02e 100644
--- a/smd.c
+++ b/smd.c
@@ -615,8 +615,11 @@ int wcn36xx_smd_config_bss(struct wcn36xx *wcn, bool sta_mode, u8 *bssid, u8 upd
 		msg_body.bss_params.beacon_interval = 0x64;
 		msg_body.bss_params.dtim_period = 2;
 		msg_body.bss_params.oper_channel = 1;
-		msg_body.bss_params.ssid.length = 1;
-		msg_body.bss_params.ssid.ssid[0] = 'K';
+
+		msg_body.bss_params.ssid.length = wcn->ssid.length;
+		memcpy(msg_body.bss_params.ssid.ssid,
+		       wcn->ssid.ssid, wcn->ssid.length);
+
 		msg_body.bss_params.obss_prot_enabled = 1;
 		msg_body.bss_params.wcn36xx_hal_persona = 1;
 		msg_body.bss_params.max_tx_power = 0x10;
diff --git a/wcn36xx.h b/wcn36xx.h
index 2860c10..540d80c 100644
--- a/wcn36xx.h
+++ b/wcn36xx.h
@@ -97,6 +97,7 @@ struct wcn36xx {
 	const struct firmware 	*nv;
 	struct mac_address addresses[2];
 	int ch;
+	struct wcn36xx_hal_mac_ssid ssid;
 
 	u8 fw_revision;
 	u8 fw_version;




More information about the wcn36xx mailing list