[PATCH 2/2] wcn36xx: pass scan mode to init/finish_scan functions

Eugene Krasnikov k.eugene.e at gmail.com
Fri Sep 13 13:16:47 EDT 2013


For p2p another scan mode will be used.

Signed-off-by: Eugene Krasnikov <k.eugene.e at gmail.com>
---
 main.c | 4 ++--
 smd.c  | 9 +++++----
 smd.h  | 5 +++--
 3 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/main.c b/main.c
index e028496..5cc6228 100644
--- a/main.c
+++ b/main.c
@@ -439,7 +439,7 @@ static void wcn36xx_sw_scan_start(struct ieee80211_hw *hw)
 {
 	struct wcn36xx *wcn = hw->priv;
 
-	wcn36xx_smd_init_scan(wcn);
+	wcn36xx_smd_init_scan(wcn, HAL_SYS_MODE_SCAN);
 	wcn36xx_smd_start_scan(wcn);
 }
 
@@ -448,7 +448,7 @@ static void wcn36xx_sw_scan_complete(struct ieee80211_hw *hw)
 	struct wcn36xx *wcn = hw->priv;
 
 	wcn36xx_smd_end_scan(wcn);
-	wcn36xx_smd_finish_scan(wcn);
+	wcn36xx_smd_finish_scan(wcn, HAL_SYS_MODE_SCAN);
 }
 
 static void wcn36xx_update_allowed_rates(struct wcn36xx *wcn,
diff --git a/smd.c b/smd.c
index f63436c..c892820 100644
--- a/smd.c
+++ b/smd.c
@@ -389,7 +389,7 @@ out:
 	return ret;
 }
 
-int wcn36xx_smd_init_scan(struct wcn36xx *wcn)
+int wcn36xx_smd_init_scan(struct wcn36xx *wcn, enum wcn36xx_hal_sys_mode mode)
 {
 	struct wcn36xx_hal_init_scan_req_msg msg_body;
 	int ret = 0;
@@ -397,7 +397,7 @@ int wcn36xx_smd_init_scan(struct wcn36xx *wcn)
 	mutex_lock(&wcn->hal_mutex);
 	INIT_HAL_MSG(msg_body, WCN36XX_HAL_INIT_SCAN_REQ);
 
-	msg_body.mode = HAL_SYS_MODE_SCAN;
+	msg_body.mode = mode;
 
 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
 
@@ -478,7 +478,8 @@ out:
 	return ret;
 }
 
-int wcn36xx_smd_finish_scan(struct wcn36xx *wcn)
+int wcn36xx_smd_finish_scan(struct wcn36xx *wcn,
+			    enum wcn36xx_hal_sys_mode mode)
 {
 	struct wcn36xx_hal_finish_scan_req_msg msg_body;
 	int ret = 0;
@@ -486,7 +487,7 @@ int wcn36xx_smd_finish_scan(struct wcn36xx *wcn)
 	mutex_lock(&wcn->hal_mutex);
 	INIT_HAL_MSG(msg_body, WCN36XX_HAL_FINISH_SCAN_REQ);
 
-	msg_body.mode = HAL_SYS_MODE_SCAN;
+	msg_body.mode = mode;
 
 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
 
diff --git a/smd.h b/smd.h
index cd66089..e7c3901 100644
--- a/smd.h
+++ b/smd.h
@@ -58,10 +58,11 @@ void wcn36xx_smd_close(struct wcn36xx *wcn);
 int wcn36xx_smd_load_nv(struct wcn36xx *wcn);
 int wcn36xx_smd_start(struct wcn36xx *wcn);
 int wcn36xx_smd_stop(struct wcn36xx *wcn);
-int wcn36xx_smd_init_scan(struct wcn36xx *wcn);
+int wcn36xx_smd_init_scan(struct wcn36xx *wcn, enum wcn36xx_hal_sys_mode mode);
 int wcn36xx_smd_start_scan(struct wcn36xx *wcn);
 int wcn36xx_smd_end_scan(struct wcn36xx *wcn);
-int wcn36xx_smd_finish_scan(struct wcn36xx *wcn);
+int wcn36xx_smd_finish_scan(struct wcn36xx *wcn,
+			    enum wcn36xx_hal_sys_mode mode);
 int wcn36xx_smd_update_scan_params(struct wcn36xx *wcn);
 int wcn36xx_smd_add_sta_self(struct wcn36xx *wcn, struct ieee80211_vif *vif);
 int wcn36xx_smd_delete_sta_self(struct wcn36xx *wcn, u8 *addr);
-- 
1.8.2.2




More information about the wcn36xx mailing list