From b2b69f044a68e7b57baf278f049860c3d13fb9fc Mon Sep 17 00:00:00 2001 From: Kapil Gupta Date: Wed, 10 Aug 2016 21:06:07 +0530 Subject: qcacld-2.0: Add check in DPT before adding packets in log buffer Packet type in control buffer will be set only in Tx path, For Rx, packet type should be checked from skb header only. Add changes to parse packet type from skb header for Rx Change-Id: I57fd5c7c4bb7b7c76e5e766460f4c164ec1db7c9 CRs-Fixed: 1052152 --- CORE/SERVICES/COMMON/adf/adf_trace.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/CORE/SERVICES/COMMON/adf/adf_trace.c b/CORE/SERVICES/COMMON/adf/adf_trace.c index a9a8bf6c2b15..a281f29c7c24 100644 --- a/CORE/SERVICES/COMMON/adf/adf_trace.c +++ b/CORE/SERVICES/COMMON/adf/adf_trace.c @@ -437,7 +437,8 @@ bool adf_log_eapol_pkt(uint8_t session_id, struct sk_buff *skb, enum adf_proto_subtype subtype; if ((adf_dp_get_proto_bitmap() & NBUF_PKT_TRAC_TYPE_EAPOL) && - ADF_NBUF_GET_IS_EAPOL(skb)) { + ((dir == ADF_TX && ADF_NBUF_GET_IS_EAPOL(skb)) || + (dir == ADF_RX && adf_nbuf_is_eapol_pkt(skb) == true))) { subtype = adf_nbuf_get_eapol_subtype(skb); DPTRACE(adf_dp_trace_proto_pkt(ADF_DP_TRACE_EAPOL_PACKET_RECORD, @@ -468,7 +469,8 @@ bool adf_log_dhcp_pkt(uint8_t session_id, struct sk_buff *skb, enum adf_proto_subtype subtype = ADF_PROTO_INVALID; if ((adf_dp_get_proto_bitmap() & NBUF_PKT_TRAC_TYPE_DHCP) && - ADF_NBUF_GET_IS_DHCP(skb)) { + ((dir == ADF_TX && ADF_NBUF_GET_IS_DHCP(skb)) || + (dir == ADF_RX && adf_nbuf_is_dhcp_pkt(skb) == true))) { subtype = adf_nbuf_get_dhcp_subtype(skb); DPTRACE(adf_dp_trace_proto_pkt(ADF_DP_TRACE_DHCP_PACKET_RECORD, @@ -500,7 +502,8 @@ bool adf_log_arp_pkt(uint8_t session_id, struct sk_buff *skb, enum adf_proto_subtype proto_subtype; if ((adf_dp_get_proto_bitmap() & NBUF_PKT_TRAC_TYPE_ARP) && - ADF_NBUF_GET_IS_ARP(skb)) { + ((dir == ADF_TX && ADF_NBUF_GET_IS_ARP(skb)) || + (dir == ADF_RX && adf_nbuf_is_ipv4_arp_pkt(skb) == true))){ proto_subtype = adf_nbuf_get_arp_subtype(skb); -- cgit v1.2.3