qcacld-3.0: Stop periodical pdev stats report when stop monitor mode
Send periodic fw stats to get chan noise floor when monitor mode start, but not stop it when monitor mode stop, pdev stats event is received even when event handler unregistered, race condition lead to assert. To fix it, when monitor mode stop, stop periodical pdev stats report first. Change-Id: I58a0ced84aca74a7228064067bb096803cf952fd CRs-Fixed: 3667212
This commit is contained in:

committed by
Ravindra Konda

parent
8ba5d61b6e
commit
c1bcfdb534
@@ -99,6 +99,18 @@ QDF_STATUS tgt_send_mc_cp_stats_req(struct wlan_objmgr_psoc *psoc,
|
||||
enum stats_req_type type,
|
||||
struct request_info *req);
|
||||
|
||||
/**
|
||||
* tgt_set_pdev_stats_update_period(): API to set pdev stats update
|
||||
* period to FW
|
||||
* @psoc: pointer to psoc object
|
||||
* @pdev_id: pdev id
|
||||
* @val: pdev stats update period, 0: disabled periodical stats report.
|
||||
*
|
||||
* Return: status of operation
|
||||
*/
|
||||
QDF_STATUS tgt_set_pdev_stats_update_period(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t pdev_id, uint32_t val);
|
||||
|
||||
/**
|
||||
* tgt_mc_cp_stats_inc_wake_lock_stats() : API to increment wake lock stats
|
||||
* given the wake reason code
|
||||
|
@@ -1542,3 +1542,20 @@ QDF_STATUS tgt_send_mc_cp_stats_req(struct wlan_objmgr_psoc *psoc,
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
QDF_STATUS tgt_set_pdev_stats_update_period(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t pdev_id, uint32_t val)
|
||||
{
|
||||
struct wlan_lmac_if_cp_stats_tx_ops *tx_ops;
|
||||
QDF_STATUS status;
|
||||
|
||||
tx_ops = target_if_cp_stats_get_tx_ops(psoc);
|
||||
if (!tx_ops || !tx_ops->set_pdev_stats_update_period) {
|
||||
cp_stats_err("could not get tx_ops");
|
||||
return QDF_STATUS_E_NULL_VALUE;
|
||||
}
|
||||
status = tx_ops->set_pdev_stats_update_period(psoc, pdev_id, val);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user