qcacmn: Fix DFS kernel panic
As part of DFS component destroy, "ic" is accessed to reset NOL list and PRECAC channel list, but "ic" is already deleted as part of MLME component destroy. And therefore invalid memory access happens. Reset NOL list and PRECAC channel list before "ic" deletion. Change-Id: I1dbf273f1ea51945493140bfce9bfa116ad0c488 CRs-Fixed: 2071164
This commit is contained in:
@@ -185,4 +185,10 @@ QDF_STATUS tgt_dfs_cac_complete(struct wlan_objmgr_pdev *pdev,
|
||||
*/
|
||||
QDF_STATUS tgt_dfs_reg_ev_handler(struct wlan_objmgr_psoc *psoc,
|
||||
bool dfs_offload);
|
||||
|
||||
/**
|
||||
* tgt_dfs_stop() - Clear dfs timers.
|
||||
* @dfs: Pointer to wlan_dfs structure.
|
||||
*/
|
||||
QDF_STATUS tgt_dfs_stop(struct wlan_objmgr_pdev *pdev);
|
||||
#endif /* _WLAN_DFS_TGT_API_H_ */
|
||||
|
@@ -248,3 +248,17 @@ QDF_STATUS tgt_dfs_reg_ev_handler(struct wlan_objmgr_psoc *psoc,
|
||||
return status;
|
||||
}
|
||||
EXPORT_SYMBOL(tgt_dfs_reg_ev_handler);
|
||||
|
||||
QDF_STATUS tgt_dfs_stop(struct wlan_objmgr_pdev *pdev)
|
||||
{
|
||||
struct wlan_dfs *dfs;
|
||||
|
||||
dfs = global_dfs_to_mlme.pdev_get_comp_private_obj(pdev);
|
||||
if (dfs == NULL)
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
dfs_stop(dfs);
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
EXPORT_SYMBOL(tgt_dfs_stop);
|
||||
|
Reference in New Issue
Block a user