From 00e8c948c8f2df085e6179e320d0b7d4ad98a840 Mon Sep 17 00:00:00 2001 From: Lin Bai Date: Thu, 13 Dec 2018 16:35:21 +0800 Subject: [PATCH] qcacmn: Implement converged packetdump API Packetdump invokes legacy data path API directly without considering underlying HW: 1. ol_register_packetdump_callback 2. ol_deregister_packetdump_callback Global pointer pdev_txrx_ctx will be casted to struct ol_txrx_pdev_t always even Lithium (use struct dp_pdev) underlying, and overwrite struct dp_pdev unexpected. Wrap with cdp API to avoid. Change-Id: I5c8847ddc51548e8854ba600bec99ce5200dd817 CRs-Fixed: 2366344 --- utils/logging/src/wlan_logging_sock_svc.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/utils/logging/src/wlan_logging_sock_svc.c b/utils/logging/src/wlan_logging_sock_svc.c index c7770a8bc9..a2fd8056b2 100644 --- a/utils/logging/src/wlan_logging_sock_svc.c +++ b/utils/logging/src/wlan_logging_sock_svc.c @@ -32,6 +32,7 @@ #include "wma.h" #include "ol_txrx_api.h" #include "pktlog_ac.h" +#include #endif #include #include @@ -1425,8 +1426,13 @@ static void send_packetdump_monitor(uint8_t type) */ void wlan_deregister_txrx_packetdump(void) { + void *soc = cds_get_context(QDF_MODULE_ID_SOC); + + if (!soc) + return; + if (gtx_count || grx_count) { - ol_deregister_packetdump_callback(); + cdp_deregister_packetdump_cb(soc); wma_deregister_packetdump_callback(); send_packetdump_monitor(STOP_MONITOR); csr_packetdump_timer_stop(); @@ -1527,8 +1533,12 @@ static void rx_packetdump_cb(qdf_nbuf_t netbuf, uint8_t status, */ void wlan_register_txrx_packetdump(void) { - ol_register_packetdump_callback(tx_packetdump_cb, - rx_packetdump_cb); + void *soc = cds_get_context(QDF_MODULE_ID_SOC); + + if (!soc) + return; + + cdp_register_packetdump_cb(soc, tx_packetdump_cb, rx_packetdump_cb); wma_register_packetdump_callback(tx_packetdump_cb, rx_packetdump_cb); send_packetdump_monitor(START_MONITOR);