qcacmn: Increase the host DFS status timeout value
On a partial offload chipset, when radar is detected on a DFS channel, the host dfs wait timer (timeout of 200ms) is started, but there is a delay in sending the avg_params to the FW. This delay happens for approx 330ms due to some high priority interrupt, due to this, the thread that sends the avg_params to the FW seems to be suspended. Host timer expiry is seen, and due to this there is a new target channel chosen and multivdev restart is sent to the FW (the vdev is in restart progress state). At this moment, the FW spoof timer (timeout is 300ms) gets expired and a status code of 1 (indicating spoof failure) is sent in the host dfs status WMI event. Due to this, the DFS channels are blocked and the channel list is rebuilt with only non-DFS channels. A non-DFS channel is chosen as the target channel. Since the vdev SM is currently in restart progress state, when radar event is posted to the vdev SM, assert is triggered and this leads to a crash. The timeout value of the host timer is 200ms and the FW timer is 300ms. The Host timer should be greater than the FW timer. Therefore, increase the Host status timeout value from 200ms to 350ms. Change-Id: I86858377fd5041922f232a1ac3d5ab781c7a63c1 CRs-Fixed: 2936809
This commit is contained in:

committed by
Madan Koyyalamudi

parent
01c0c273d1
commit
84952bbe19
@@ -376,7 +376,7 @@
|
||||
* wait timer with this timeout.
|
||||
*/
|
||||
#if defined(WLAN_DFS_PARTIAL_OFFLOAD) && defined(HOST_DFS_SPOOF_TEST)
|
||||
#define HOST_DFS_STATUS_WAIT_TIMER_MS 200
|
||||
#define HOST_DFS_STATUS_WAIT_TIMER_MS 350
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user