qcacld-3.0: refine the code for packetdump_timer
Enable packetdump_timer related operations only when following conditions are met: 1. WLAN_LOGGING_SOCK_SVC_ENABLE is defined. 2. FEATURE_PKTLOG is defined. 3. REMOVE_PKT_LOG is not defined. CRs-Fixed: 2747430 Change-Id: I47575ff184345884c47fe91922236bb4a3db420b
This commit is contained in:
parent
5449f2e987
commit
e716703408
@ -1349,6 +1349,8 @@ typedef void (*sme_get_raom_scan_ch_callback)(
|
||||
struct roam_scan_ch_resp *roam_ch,
|
||||
void *context);
|
||||
|
||||
#if defined(WLAN_LOGGING_SOCK_SVC_ENABLE) && \
|
||||
defined(FEATURE_PKTLOG) && !defined(REMOVE_PKT_LOG)
|
||||
/**
|
||||
* csr_packetdump_timer_stop() - stops packet dump timer
|
||||
*
|
||||
@ -1359,6 +1361,20 @@ typedef void (*sme_get_raom_scan_ch_callback)(
|
||||
*/
|
||||
void csr_packetdump_timer_stop(void);
|
||||
|
||||
/**
|
||||
* csr_packetdump_timer_start() - start packet dump timer
|
||||
*
|
||||
* This function is used to start packet dump timer
|
||||
*
|
||||
* Return: None
|
||||
*
|
||||
*/
|
||||
void csr_packetdump_timer_start(void);
|
||||
#else
|
||||
static inline void csr_packetdump_timer_stop(void) {}
|
||||
static inline void csr_packetdump_timer_start(void) {}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* csr_get_channel_status() - get chan info via channel number
|
||||
* @mac: Pointer to Global MAC structure
|
||||
|
@ -649,7 +649,10 @@ struct csr_roamstruct {
|
||||
uint8_t RoamRssiDiff;
|
||||
bool isWESModeEnabled;
|
||||
uint32_t deauthRspStatus;
|
||||
#if defined(WLAN_LOGGING_SOCK_SVC_ENABLE) && \
|
||||
defined(FEATURE_PKTLOG) && !defined(REMOVE_PKT_LOG)
|
||||
qdf_mc_timer_t packetdump_timer;
|
||||
#endif
|
||||
spinlock_t roam_state_lock;
|
||||
};
|
||||
|
||||
|
@ -1373,6 +1373,8 @@ void csr_set_global_cfgs(struct mac_context *mac)
|
||||
csr_set_default_dot11_mode(mac);
|
||||
}
|
||||
|
||||
#if defined(WLAN_LOGGING_SOCK_SVC_ENABLE) && \
|
||||
defined(FEATURE_PKTLOG) && !defined(REMOVE_PKT_LOG)
|
||||
/**
|
||||
* csr_packetdump_timer_handler() - packet dump timer
|
||||
* handler
|
||||
@ -1390,6 +1392,34 @@ static void csr_packetdump_timer_handler(void *pv)
|
||||
wlan_deregister_txrx_packetdump(OL_TXRX_PDEV_ID);
|
||||
}
|
||||
|
||||
void csr_packetdump_timer_start(void)
|
||||
{
|
||||
QDF_STATUS status;
|
||||
mac_handle_t mac_handle;
|
||||
struct mac_context *mac;
|
||||
QDF_TIMER_STATE cur_state;
|
||||
|
||||
mac_handle = cds_get_context(QDF_MODULE_ID_SME);
|
||||
mac = MAC_CONTEXT(mac_handle);
|
||||
if (!mac) {
|
||||
QDF_ASSERT(0);
|
||||
return;
|
||||
}
|
||||
cur_state = qdf_mc_timer_get_current_state(&mac->roam.packetdump_timer);
|
||||
if (cur_state == QDF_TIMER_STATE_STARTING ||
|
||||
cur_state == QDF_TIMER_STATE_STARTING) {
|
||||
sme_debug("packetdump_timer is already started: %d", cur_state);
|
||||
return;
|
||||
}
|
||||
|
||||
status = qdf_mc_timer_start(&mac->roam.packetdump_timer,
|
||||
(PKT_DUMP_TIMER_DURATION *
|
||||
QDF_MC_TIMER_TO_SEC_UNIT) /
|
||||
QDF_MC_TIMER_TO_MS_UNIT);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status))
|
||||
sme_debug("cannot start packetdump timer status: %d", status);
|
||||
}
|
||||
|
||||
void csr_packetdump_timer_stop(void)
|
||||
{
|
||||
QDF_STATUS status;
|
||||
@ -1408,6 +1438,46 @@ void csr_packetdump_timer_stop(void)
|
||||
sme_err("cannot stop packetdump timer");
|
||||
}
|
||||
|
||||
static QDF_STATUS csr_packetdump_timer_init(struct mac_context *mac)
|
||||
{
|
||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||
|
||||
if (!mac) {
|
||||
QDF_ASSERT(0);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
status = qdf_mc_timer_init(&mac->roam.packetdump_timer,
|
||||
QDF_TIMER_TYPE_SW,
|
||||
csr_packetdump_timer_handler,
|
||||
mac);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
sme_err("cannot allocate memory for packetdump timer");
|
||||
return status;
|
||||
}
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
static void csr_packetdump_timer_deinit(struct mac_context *mac)
|
||||
{
|
||||
if (!mac) {
|
||||
QDF_ASSERT(0);
|
||||
return;
|
||||
}
|
||||
|
||||
qdf_mc_timer_stop(&mac->roam.packetdump_timer);
|
||||
qdf_mc_timer_destroy(&mac->roam.packetdump_timer);
|
||||
}
|
||||
#else
|
||||
static inline QDF_STATUS csr_packetdump_timer_init(struct mac_context *mac)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static inline void csr_packetdump_timer_deinit(struct mac_context *mac) {}
|
||||
#endif
|
||||
|
||||
static QDF_STATUS csr_roam_open(struct mac_context *mac)
|
||||
{
|
||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||
@ -1432,13 +1502,10 @@ static QDF_STATUS csr_roam_open(struct mac_context *mac)
|
||||
sme_err("cannot allocate memory for WaitForKey time out timer");
|
||||
break;
|
||||
}
|
||||
status = qdf_mc_timer_init(&mac->roam.packetdump_timer,
|
||||
QDF_TIMER_TYPE_SW, csr_packetdump_timer_handler,
|
||||
mac);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
sme_err("cannot allocate memory for packetdump timer");
|
||||
status = csr_packetdump_timer_init(mac);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status))
|
||||
break;
|
||||
}
|
||||
|
||||
spin_lock_init(&mac->roam.roam_state_lock);
|
||||
} while (0);
|
||||
return status;
|
||||
@ -1458,8 +1525,7 @@ static QDF_STATUS csr_roam_close(struct mac_context *mac)
|
||||
|
||||
qdf_mc_timer_stop(&mac->roam.hTimerWaitForKey);
|
||||
qdf_mc_timer_destroy(&mac->roam.hTimerWaitForKey);
|
||||
qdf_mc_timer_stop(&mac->roam.packetdump_timer);
|
||||
qdf_mc_timer_destroy(&mac->roam.packetdump_timer);
|
||||
csr_packetdump_timer_deinit(mac);
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
@ -14740,7 +14806,6 @@ QDF_STATUS csr_send_join_req_msg(struct mac_context *mac, uint32_t sessionId,
|
||||
uint8_t ese_config = 0;
|
||||
tpCsrNeighborRoamControlInfo neigh_roam_info;
|
||||
uint32_t value = 0, value1 = 0;
|
||||
QDF_STATUS packetdump_timer_status;
|
||||
bool is_vendor_ap_present;
|
||||
struct vdev_type_nss *vdev_type_nss;
|
||||
struct action_oui_search_attr vendor_ap_search_attr;
|
||||
@ -15659,17 +15724,9 @@ QDF_STATUS csr_send_join_req_msg(struct mac_context *mac, uint32_t sessionId,
|
||||
break;
|
||||
}
|
||||
|
||||
if (pProfile->csrPersona == QDF_STA_MODE) {
|
||||
if (pProfile->csrPersona == QDF_STA_MODE)
|
||||
wlan_register_txrx_packetdump(OL_TXRX_PDEV_ID);
|
||||
packetdump_timer_status = qdf_mc_timer_start(
|
||||
&mac->roam.packetdump_timer,
|
||||
(PKT_DUMP_TIMER_DURATION *
|
||||
QDF_MC_TIMER_TO_SEC_UNIT)/
|
||||
QDF_MC_TIMER_TO_MS_UNIT);
|
||||
if (!QDF_IS_STATUS_SUCCESS(packetdump_timer_status))
|
||||
sme_debug("cannot start packetdump timer status: %d",
|
||||
packetdump_timer_status);
|
||||
}
|
||||
|
||||
#ifndef WLAN_MDM_CODE_REDUCTION_OPT
|
||||
if (eWNI_SME_JOIN_REQ == messageType) {
|
||||
/* Notify QoS module that join happening */
|
||||
|
Loading…
Reference in New Issue
Block a user