summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimanshu Agarwal <himanaga@codeaurora.org>2016-10-05 18:56:05 +0530
committerAshish kumar goswami <agoswa@codeaurora.org>2017-01-04 15:50:06 +0530
commit50f430f60b3cd29d11901e4e4062b442e3491e31 (patch)
tree414884a332f8ea70fc19c71bb00ea28fc005e660
parentb78aad577935fc7e4ca8993171ecfa61058f09e9 (diff)
qcacld-2.0: Dump few bytes of rx packet in DPTRACE
Add logic to dump first 32 bytes for rx packets in DPTRACE. Change-Id: I950108b9d1c9094ce3d285493ee36bda4f9d7e41 CRs-Fixed: 1074551
-rw-r--r--CORE/HDD/src/wlan_hdd_softap_tx_rx.c22
-rw-r--r--CORE/HDD/src/wlan_hdd_tx_rx.c26
-rw-r--r--CORE/SERVICES/COMMON/adf/adf_trace.c5
-rw-r--r--CORE/SERVICES/COMMON/adf/adf_trace.h3
4 files changed, 43 insertions, 13 deletions
diff --git a/CORE/HDD/src/wlan_hdd_softap_tx_rx.c b/CORE/HDD/src/wlan_hdd_softap_tx_rx.c
index 7a62591ec3fe..2e86a870ebf4 100644
--- a/CORE/HDD/src/wlan_hdd_softap_tx_rx.c
+++ b/CORE/HDD/src/wlan_hdd_softap_tx_rx.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -431,11 +431,13 @@ int __hdd_softap_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
DPTRACE(adf_dp_trace(skb, ADF_DP_TRACE_HDD_TX_PACKET_PTR_RECORD,
(uint8_t *)&skb->data, sizeof(skb->data), ADF_TX));
DPTRACE(adf_dp_trace(skb, ADF_DP_TRACE_HDD_TX_PACKET_RECORD,
- (uint8_t *)skb->data, skb->len, ADF_TX));
- if (skb->len > ADF_DP_TRACE_RECORD_SIZE)
+ (uint8_t *)skb->data, adf_nbuf_len(skb), ADF_TX));
+
+ if (adf_nbuf_len(skb) > ADF_DP_TRACE_RECORD_SIZE)
DPTRACE(adf_dp_trace(skb, ADF_DP_TRACE_HDD_TX_PACKET_RECORD,
- (uint8_t *)&skb->data[ADF_DP_TRACE_RECORD_SIZE],
- (skb->len - ADF_DP_TRACE_RECORD_SIZE), ADF_TX));
+ (uint8_t *)&skb->data[ADF_DP_TRACE_RECORD_SIZE],
+ (adf_nbuf_len(skb) - ADF_DP_TRACE_RECORD_SIZE),
+ ADF_TX));
skb = skb_next;
continue;
@@ -880,6 +882,16 @@ VOS_STATUS hdd_softap_rx_packet_cbk(v_VOID_t *vosContext,
ADF_DP_TRACE_RX_HDD_PACKET_PTR_RECORD,
adf_nbuf_data_addr(skb),
sizeof(adf_nbuf_data(skb)), ADF_RX));
+ DPTRACE(adf_dp_trace(skb,
+ ADF_DP_TRACE_HDD_RX_PACKET_RECORD,
+ (uint8_t *)skb->data, adf_nbuf_len(skb), ADF_RX));
+
+ if (adf_nbuf_len(skb) > ADF_DP_TRACE_RECORD_SIZE)
+ DPTRACE(adf_dp_trace(skb,
+ ADF_DP_TRACE_HDD_RX_PACKET_RECORD,
+ (uint8_t *)&skb->data[ADF_DP_TRACE_RECORD_SIZE],
+ (adf_nbuf_len(skb) - ADF_DP_TRACE_RECORD_SIZE),
+ ADF_RX));
#ifdef QCA_PKT_PROTO_TRACE
if ((pHddCtx->cfg_ini->gEnableDebugLog & VOS_PKT_TRAC_TYPE_EAPOL) ||
diff --git a/CORE/HDD/src/wlan_hdd_tx_rx.c b/CORE/HDD/src/wlan_hdd_tx_rx.c
index 8a4c26ca4653..0107bb1f26b3 100644
--- a/CORE/HDD/src/wlan_hdd_tx_rx.c
+++ b/CORE/HDD/src/wlan_hdd_tx_rx.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -683,11 +683,14 @@ int __hdd_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
DPTRACE(adf_dp_trace(skb, ADF_DP_TRACE_HDD_TX_PACKET_PTR_RECORD,
(uint8_t *)&skb->data, sizeof(skb->data), ADF_TX));
DPTRACE(adf_dp_trace(skb, ADF_DP_TRACE_HDD_TX_PACKET_RECORD,
- (uint8_t *)skb->data, skb->len, ADF_TX));
- if (skb->len > ADF_DP_TRACE_RECORD_SIZE)
- DPTRACE(adf_dp_trace(skb, ADF_DP_TRACE_HDD_TX_PACKET_RECORD,
- (uint8_t *)&skb->data[ADF_DP_TRACE_RECORD_SIZE],
- (skb->len - ADF_DP_TRACE_RECORD_SIZE), ADF_TX));
+ (uint8_t *)skb->data, adf_nbuf_len(skb), ADF_TX));
+
+ if (adf_nbuf_len(skb) > ADF_DP_TRACE_RECORD_SIZE)
+ DPTRACE(adf_dp_trace(skb, ADF_DP_TRACE_HDD_TX_PACKET_RECORD,
+ (uint8_t *)&skb->data[ADF_DP_TRACE_RECORD_SIZE],
+ (adf_nbuf_len(skb) - ADF_DP_TRACE_RECORD_SIZE),
+ ADF_TX));
+
skb = skb_next;
continue;
@@ -1298,6 +1301,7 @@ VOS_STATUS hdd_rx_packet_cbk(v_VOID_t *vosContext,
#endif /* QCA_PKT_PROTO_TRACE */
hdd_station_ctx_t *pHddStaCtx = NULL;
bool wake_lock = false;
+
//Sanity check on inputs
if ((NULL == vosContext) || (NULL == rxBuf))
{
@@ -1350,6 +1354,16 @@ VOS_STATUS hdd_rx_packet_cbk(v_VOID_t *vosContext,
ADF_DP_TRACE_RX_HDD_PACKET_PTR_RECORD,
adf_nbuf_data_addr(skb),
sizeof(adf_nbuf_data(skb)), ADF_RX));
+ DPTRACE(adf_dp_trace(skb,
+ ADF_DP_TRACE_HDD_RX_PACKET_RECORD,
+ (uint8_t *)skb->data, adf_nbuf_len(skb), ADF_RX));
+
+ if (adf_nbuf_len(skb) > ADF_DP_TRACE_RECORD_SIZE)
+ DPTRACE(adf_dp_trace(skb,
+ ADF_DP_TRACE_HDD_RX_PACKET_RECORD,
+ (uint8_t *)&skb->data[ADF_DP_TRACE_RECORD_SIZE],
+ (adf_nbuf_len(skb) - ADF_DP_TRACE_RECORD_SIZE),
+ ADF_RX));
#ifdef QCA_PKT_PROTO_TRACE
if ((pHddCtx->cfg_ini->gEnableDebugLog & VOS_PKT_TRAC_TYPE_EAPOL) ||
diff --git a/CORE/SERVICES/COMMON/adf/adf_trace.c b/CORE/SERVICES/COMMON/adf/adf_trace.c
index e142e88e78b8..cfcfe687f391 100644
--- a/CORE/SERVICES/COMMON/adf/adf_trace.c
+++ b/CORE/SERVICES/COMMON/adf/adf_trace.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -232,6 +232,8 @@ const char *adf_dp_code_to_string(enum ADF_DP_TRACE_ID code)
return "HTT: RX: OF: PTR:";
case ADF_DP_TRACE_RX_HDD_PACKET_PTR_RECORD:
return "HDD: RX: PTR:";
+ case ADF_DP_TRACE_HDD_RX_PACKET_RECORD:
+ return "HDD: RX: DATA:";
case ADF_DP_TRACE_TXRX_QUEUE_PACKET_PTR_RECORD:
return "TXRX: TX: Q: PTR:";
case ADF_DP_TRACE_TXRX_PACKET_PTR_RECORD:
@@ -683,6 +685,7 @@ void adf_dp_display_record(struct adf_dp_trace_record_s *pRecord,
"HDD SoftAP TX Timeout\n");
break;
case ADF_DP_TRACE_HDD_TX_PACKET_RECORD:
+ case ADF_DP_TRACE_HDD_RX_PACKET_RECORD:
dump_hex_trace("DATA", pRecord->data, rsize);
break;
default:
diff --git a/CORE/SERVICES/COMMON/adf/adf_trace.h b/CORE/SERVICES/COMMON/adf/adf_trace.h
index e01cfbc17f7c..c1359c886606 100644
--- a/CORE/SERVICES/COMMON/adf/adf_trace.h
+++ b/CORE/SERVICES/COMMON/adf/adf_trace.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -113,6 +113,7 @@ enum ADF_DP_TRACE_ID {
ADF_DP_TRACE_RX_TXRX_PACKET_PTR_RECORD,
ADF_DP_TRACE_MED_VERBOSITY,
ADF_DP_TRACE_HDD_TX_PACKET_RECORD,
+ ADF_DP_TRACE_HDD_RX_PACKET_RECORD,
ADF_DP_TRACE_HIGH_VERBOSITY,
ADF_DP_TRACE_MAX
};