qcacmn: Fix issue that DFS NOL can't be cleared
When SAP off and psoc idle shutdown happens before NOL timeout, DFS pdev obj is destroyed, NOL timer is cleared, NOL channel is failed to clear for regulatory pdev obj is freed already. To fix it, let NOL timer and NOL be cleared in dispatcher_pdev_close, before pdev destroy and regulatory pdev obj destroyed. Change-Id: I5818f8a0284a6c45e8a435ac59269df73507deeb CRs-Fixed: 3151099
This commit is contained in:

committed by
Madan Koyyalamudi

parent
b68fd9ba67
commit
d94f0fb619
@@ -406,6 +406,22 @@ QDF_STATUS dfs_deinit(void)
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS dfs_pdev_close(struct wlan_objmgr_pdev *pdev)
|
||||
{
|
||||
struct wlan_dfs *dfs = NULL;
|
||||
|
||||
if (!pdev) {
|
||||
dfs_err(dfs, WLAN_DEBUG_DFS_ALWAYS, "PDEV is NULL");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
dfs = wlan_pdev_get_dfs_obj(pdev);
|
||||
if (dfs)
|
||||
dfs_detach(dfs);
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS wlan_dfs_pdev_obj_create_notification(struct wlan_objmgr_pdev *pdev,
|
||||
void *arg)
|
||||
{
|
||||
@@ -528,7 +544,6 @@ QDF_STATUS wlan_dfs_pdev_obj_destroy_notification(struct wlan_objmgr_pdev *pdev,
|
||||
|
||||
/* DFS is NULL during unload. should we call this function before */
|
||||
if (dfs) {
|
||||
dfs_detach(dfs);
|
||||
global_dfs_to_mlme.pdev_component_obj_detach(pdev,
|
||||
WLAN_UMAC_COMP_DFS,
|
||||
(void *)dfs);
|
||||
|
Reference in New Issue
Block a user