mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 00:24:41 -04:00
qcacmn: Trigger eWNI_SME_DFS_RADAR_FOUND once for one radar
Currently eWNI_SME_DFS_RADAR_FOUND is triggered for every vdev attached to the pdev in which radar is found. It is incorrect because when handling one eWNI_SME_DFS_RADAR_FOUND event, every sap in the DFS channel processes the event. Trigger eWNI_SME_DFS_RADAR_FOUND once for one radar detection. Change-Id: I72f8a2a34b670bd86f07d0caabf2ee8f96c962be CRs-Fixed: 2504793
This commit is contained in:
parent
b2e00f901f
commit
208ab01f20
1 changed files with 16 additions and 8 deletions
|
|
@ -76,15 +76,19 @@ void dfs_mlme_mark_dfs(struct wlan_objmgr_pdev *pdev,
|
|||
uint8_t vhtop_ch_freq_seg2,
|
||||
uint64_t flags)
|
||||
{
|
||||
struct wlan_objmgr_vdev *vdev;
|
||||
|
||||
if (!pdev) {
|
||||
dfs_err(NULL, WLAN_DEBUG_DFS_ALWAYS, "null pdev");
|
||||
return;
|
||||
}
|
||||
|
||||
wlan_objmgr_pdev_iterate_obj_list(pdev,
|
||||
WLAN_VDEV_OP,
|
||||
dfs_send_radar_ind,
|
||||
NULL, 0, WLAN_DFS_ID);
|
||||
vdev = wlan_pdev_peek_active_first_vdev(pdev, WLAN_DFS_ID);
|
||||
|
||||
if (vdev) {
|
||||
dfs_send_radar_ind(pdev, vdev, NULL);
|
||||
wlan_objmgr_vdev_release_ref(vdev, WLAN_DFS_ID);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
@ -102,15 +106,19 @@ void dfs_mlme_start_csa(struct wlan_objmgr_pdev *pdev,
|
|||
uint8_t ieee_chan, uint16_t freq,
|
||||
uint8_t cfreq2, uint64_t flags)
|
||||
{
|
||||
struct wlan_objmgr_vdev *vdev;
|
||||
|
||||
if (!pdev) {
|
||||
dfs_err(NULL, WLAN_DEBUG_DFS_ALWAYS, "null pdev");
|
||||
return;
|
||||
}
|
||||
|
||||
wlan_objmgr_pdev_iterate_obj_list(pdev,
|
||||
WLAN_VDEV_OP,
|
||||
dfs_send_radar_ind,
|
||||
NULL, 0, WLAN_DFS_ID);
|
||||
vdev = wlan_pdev_peek_active_first_vdev(pdev, WLAN_DFS_ID);
|
||||
|
||||
if (vdev) {
|
||||
dfs_send_radar_ind(pdev, vdev, NULL);
|
||||
wlan_objmgr_vdev_release_ref(vdev, WLAN_DFS_ID);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue