[PATCH 2/7] main: improve mac80211 related debug messages

Kalle Valo kvalo at qca.qualcomm.com
Mon May 20 06:53:54 EDT 2013


The debug messages in main.c used wcn36xx_info() too much which was spamming
the log. Use the wcn36xx_dbg() macro instead.

Add new debug levels HAL_DUMP and MAC. The former is just consistency, the
actual debug messages dumping hal messages will be added later.

Signed-off-by: Kalle Valo <kvalo at qca.qualcomm.com>
---
 main.c    |   36 ++++++++++++++++++++++++++++++------
 wcn36xx.h |    2 ++
 2 files changed, 32 insertions(+), 6 deletions(-)

diff --git a/main.c b/main.c
index 4de9e49..461eb9e 100644
--- a/main.c
+++ b/main.c
@@ -39,6 +39,8 @@ static int wcn36xx_start(struct ieee80211_hw *hw)
 	struct wcn36xx *wcn = hw->priv;
 	int ret;
 
+	wcn36xx_dbg(WCN36XX_DBG_MAC, "mac start");
+
 	// SMD initialization
 	ret = wcn36xx_smd_open(wcn);
 	if (ret) {
@@ -76,6 +78,8 @@ static void wcn36xx_stop(struct ieee80211_hw *hw)
 {
 	struct wcn36xx *wcn = hw->priv;
 
+	wcn36xx_dbg(WCN36XX_DBG_MAC, "mac stop");
+
 	wcn36xx_dxe_deinit(wcn);
 	wcn36xx_smd_close(wcn);
 
@@ -85,21 +89,28 @@ static void wcn36xx_stop(struct ieee80211_hw *hw)
 static void wcn36xx_remove_interface(struct ieee80211_hw *hw,
 				   struct ieee80211_vif *vif)
 {
+	wcn36xx_dbg(WCN36XX_DBG_MAC, "mac remove interface vif %p", vif);
 }
 
 static int wcn36xx_change_interface(struct ieee80211_hw *hw,
 				      struct ieee80211_vif *vif,
 				      enum nl80211_iftype new_type, bool p2p)
 {
+	wcn36xx_dbg(WCN36XX_DBG_MAC, "mac change interface vif %p new_type %d p2p %d",
+		    vif, new_type, p2p);
+
 	return 0;
 }
 static int wcn36xx_config(struct ieee80211_hw *hw, u32 changed)
 {
 	struct wcn36xx *wcn = hw->priv;
 
+	wcn36xx_dbg(WCN36XX_DBG_MAC, "mac config changed 0x%08x", changed);
+
 	if (changed & IEEE80211_CONF_CHANGE_CHANNEL) {
 		wcn->ch = ieee80211_frequency_to_channel(hw->conf.chandef.chan->center_freq);
-		wcn36xx_info("wcn36xx_config channel switch=%d", wcn->ch);
+		wcn36xx_dbg(WCN36XX_DBG_MAC, "mac change channel %d", wcn->ch);
+
 	}
 
 	return 0;
@@ -119,6 +130,8 @@ static void wcn36xx_configure_filter(struct ieee80211_hw *hw,
 				       unsigned int changed,
 				       unsigned int *total, u64 multicast)
 {
+	wcn36xx_dbg(WCN36XX_DBG_MAC, "mac configure filter");
+
 	changed &= WCN36XX_SUPPORTED_FILTERS;
 	*total &= WCN36XX_SUPPORTED_FILTERS;
 }
@@ -200,8 +213,13 @@ static void wcn36xx_bss_info_changed(struct ieee80211_hw *hw,
 	struct sk_buff *skb = NULL;
 	u16 tim_off, tim_len;
 
+	wcn36xx_dbg(WCN36XX_DBG_MAC, "mac bss info changed vif %p changed 0x%08x",
+		    vif, changed);
+
 	if(changed & BSS_CHANGED_BSSID) {
-		wcn36xx_info("wcn36xx_bss_info_changed BSS_CHANGED_BSSID=%pM", bss_conf->bssid);
+		wcn36xx_dbg(WCN36XX_DBG_MAC, "mac bss changed_bssid %pM",
+			    bss_conf->bssid);
+
 		if(!is_zero_ether_addr(bss_conf->bssid)) {
 			wcn36xx_smd_join(wcn, (u8*)bss_conf->bssid, vif->addr, wcn->ch);
 			wcn36xx_smd_config_bss(wcn, true, (u8*)bss_conf->bssid, 0);
@@ -268,19 +286,21 @@ static int wcn36xx_add_interface(struct ieee80211_hw *hw,
 {
 	struct wcn36xx *wcn = hw->priv;
 
+	wcn36xx_dbg(WCN36XX_DBG_MAC, "mac add interface vif %p type %d",
+		    vif, vif->type);
+
 	if(vif) {
 		switch (vif->type) {
 		case NL80211_IFTYPE_STATION:
-			wcn36xx_info("Add station interface");
 			wcn36xx_smd_add_sta_self(wcn, wcn->addresses[0], 0);
 			break;
 		case NL80211_IFTYPE_AP:
-			wcn36xx_info("Add AP interface");
 			wcn36xx_smd_add_sta_self(wcn, wcn->addresses[0], 0);
 			break;
 		default:
-			wcn36xx_info("Add interface=%d", vif->type);
-			break;
+			wcn36xx_warn("Unsupported interface type requested: %d",
+				     vif->type);
+			return -EOPNOTSUPP;
 		}
 	}
 
@@ -292,6 +312,8 @@ static int wcn36xx_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
 {
 	struct wcn36xx *wcn = hw->priv;
 
+	wcn36xx_dbg(WCN36XX_DBG_MAC, "mac sta add vif %p sta %pM", vif, sta->addr);
+
 	wcn36xx_smd_set_link_st(wcn, sta->addr, vif->addr, WCN36XX_HAL_LINK_POSTASSOC_STATE);
 	wcn36xx_smd_config_sta(wcn, sta->addr, sta->aid, vif->addr);
 	wcn36xx_smd_config_bss(wcn, true, sta->addr, 1);
@@ -302,6 +324,8 @@ static int wcn36xx_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif
 {
 	struct wcn36xx *wcn = hw->priv;
 
+	wcn36xx_dbg(WCN36XX_DBG_MAC, "mac sta remove vif %p sta %pM", vif, sta->addr);
+
 	wcn36xx_smd_delete_sta(wcn);
 	wcn36xx_smd_delete_bss(wcn);
 	wcn36xx_smd_set_link_st(wcn, sta->addr, vif->addr, WCN36XX_HAL_LINK_IDLE_STATE);
diff --git a/wcn36xx.h b/wcn36xx.h
index 447c7d5..0ca615d 100644
--- a/wcn36xx.h
+++ b/wcn36xx.h
@@ -44,6 +44,8 @@ enum wcn36xx_debug_mask {
 	WCN36XX_DBG_TX		= 0x00000040,
 	WCN36XX_DBG_TX_DUMP	= 0x00000080,
 	WCN36XX_DBG_HAL		= 0x00000100,
+	WCN36XX_DBG_HAL_DUMP	= 0x00000200,
+	WCN36XX_DBG_MAC		= 0x00000400,
 	WCN36XX_DBG_ANY		= 0xffffffff,
 };
 




More information about the wcn36xx mailing list