[PATCH 5/8] wcn36xx: do not use current_vif in debug.c

Eugene Krasnikov k.eugene.e at gmail.com
Mon Sep 9 09:35:19 EDT 2013


Instead enter/exit BMPS for all STA vifs.

Signed-off-by: Eugene Krasnikov <k.eugene.e at gmail.com>
---
 debug.c | 25 +++++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)

diff --git a/debug.c b/debug.c
index a4c86fb..682bcd6 100644
--- a/debug.c
+++ b/debug.c
@@ -62,9 +62,9 @@ static ssize_t write_file_bool_bmps(struct file *file,
 				    size_t count, loff_t *ppos)
 {
 	struct wcn36xx *wcn = file->private_data;
-	struct ieee80211_vif *vif = container_of((void *)wcn->current_vif,
-						 struct ieee80211_vif,
-						 drv_priv);
+	struct wcn36xx_vif *vif_priv = NULL;
+	struct ieee80211_vif *vif = NULL;
+
 	char buf[32];
 	int buf_size;
 
@@ -76,13 +76,26 @@ static ssize_t write_file_bool_bmps(struct file *file,
 	case 'y':
 	case 'Y':
 	case '1':
-		wcn36xx_enable_keep_alive_null_packet(wcn, vif);
-		wcn36xx_pmc_enter_bmps_state(wcn, vif);
+		list_for_each_entry(vif_priv, &wcn->vif_list, list) {
+			vif = container_of((void *)vif_priv,
+				   struct ieee80211_vif,
+				   drv_priv);
+			if (NL80211_IFTYPE_STATION == vif->type) {
+				wcn36xx_enable_keep_alive_null_packet(wcn, vif);
+				wcn36xx_pmc_enter_bmps_state(wcn, vif);
+			}
+		}
 		break;
 	case 'n':
 	case 'N':
 	case '0':
-		wcn36xx_pmc_exit_bmps_state(wcn, vif);
+		list_for_each_entry(vif_priv, &wcn->vif_list, list) {
+			vif = container_of((void *)vif_priv,
+				   struct ieee80211_vif,
+				   drv_priv);
+			if (NL80211_IFTYPE_STATION == vif->type)
+				wcn36xx_pmc_exit_bmps_state(wcn, vif);
+		}
 		break;
 	}
 
-- 
1.8.2.2




More information about the wcn36xx mailing list