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
此提交包含在:
Jianmin Zhu
2022-03-17 11:02:11 +08:00
提交者 Madan Koyyalamudi
父節點 b68fd9ba67
當前提交 d94f0fb619
共有 3 個檔案被更改,包括 33 行新增2 行删除

查看文件

@@ -492,6 +492,12 @@ static QDF_STATUS dispatcher_regulatory_pdev_close(struct wlan_objmgr_pdev
return regulatory_pdev_close(pdev);
}
static QDF_STATUS dispatcher_dfs_pdev_close(struct wlan_objmgr_pdev
*pdev)
{
return dfs_pdev_close(pdev);
}
#ifdef WLAN_SA_API_ENABLE
static QDF_STATUS dispatcher_init_sa_api(void)
{
@@ -1563,6 +1569,8 @@ QDF_STATUS dispatcher_pdev_close(struct wlan_objmgr_pdev *pdev)
QDF_BUG(QDF_STATUS_SUCCESS == dispatcher_regulatory_pdev_close(pdev));
QDF_BUG(QDF_STATUS_SUCCESS == dispatcher_dfs_pdev_close(pdev));
return QDF_STATUS_SUCCESS;
}
qdf_export_symbol(dispatcher_pdev_close);