[PATCH 5/7] Cleanup TX debugging

Kalle Valo kvalo at qca.qualcomm.com
Thu May 16 08:42:28 EDT 2013


Also simplify wcn36xx_tx() in the process.

Signed-off-by: Kalle Valo <kvalo at qca.qualcomm.com>
---
 dxe.c  |    3 +--
 main.c |   28 ++++++++++++++++++++--------
 2 files changed, 21 insertions(+), 10 deletions(-)

diff --git a/dxe.c b/dxe.c
index 0f90859..286b482 100644
--- a/dxe.c
+++ b/dxe.c
@@ -397,12 +397,11 @@ int wcn36xx_dxe_tx(struct wcn36xx *wcn, struct sk_buff *skb, u8 broadcast, bool
 	struct wcn36xx_dxe_desc *cur_dxe_desc = NULL;
 	struct wcn36xx_dxe_mem_pool * mem_pool = NULL;
 	struct wcn36xx_dxe_ch * cur_ch = NULL;
+
 	if(is_high) {
-		wcn36xx_dbg(WCN36XX_DBG_TX, "DXE TX: MGMT");
 		mem_pool = &wcn->mgmt_mem_pool;
 		cur_ch = &wcn->dxe_tx_h_ch;
 	} else {
-		wcn36xx_dbg(WCN36XX_DBG_TX, "DXE TX: DATA");
 		mem_pool = &wcn->data_mem_pool;
 		cur_ch = &wcn->dxe_tx_l_ch;
 	}
diff --git a/main.c b/main.c
index 6e4aace..f6f1942 100644
--- a/main.c
+++ b/main.c
@@ -131,17 +131,29 @@ static void wcn36xx_configure_filter(struct ieee80211_hw *hw,
 	*total &= WCN36XX_SUPPORTED_FILTERS;
 }
 
-static void wcn36xx_tx(struct ieee80211_hw *hw,  struct ieee80211_tx_control *control, struct sk_buff *skb)
+static void wcn36xx_tx(struct ieee80211_hw *hw,
+		       struct ieee80211_tx_control *control,
+		       struct sk_buff *skb)
 {
 	struct ieee80211_mgmt *mgmt;
-	ENTER();
+	bool high, bcast;
+
 	mgmt = (struct ieee80211_mgmt *)skb->data;
-	wcn36xx_dbg(WCN36XX_DBG_TX, "wcn36xx_tx: = %x", mgmt->frame_control);
-	if (ieee80211_is_data(mgmt->frame_control) || (ieee80211_is_data_qos(mgmt->frame_control))) {
-		wcn36xx_dxe_tx(hw->priv, skb, is_broadcast_ether_addr(mgmt->da) || is_multicast_ether_addr(mgmt->da), false);
-	} else {
-		wcn36xx_dxe_tx(hw->priv, skb, is_broadcast_ether_addr(mgmt->da) || is_multicast_ether_addr(mgmt->da), true);
-	}
+
+	high = !(ieee80211_is_data(mgmt->frame_control) ||
+		 ieee80211_is_data_qos(mgmt->frame_control));
+
+	bcast = is_broadcast_ether_addr(mgmt->da) ||
+		is_multicast_ether_addr(mgmt->da);
+
+	wcn36xx_dbg(WCN36XX_DBG_TX,
+		    "tx skb %p len %d fc %02x %s %s",
+		    skb, skb->len, __le16_to_cpu(mgmt->frame_control),
+		    high ? "high" : "low", bcast ? "bcast" : "ucast");
+
+	wcn36xx_dbg_dump(WCN36XX_DBG_TX_DUMP, "", skb->data, skb->len);
+
+	wcn36xx_dxe_tx(hw->priv, skb, bcast, high);
 }
 
 static int wcn36xx_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,




More information about the wcn36xx mailing list