0c80b53ac789c73c12c4559722113ba1f50adff9

Problem:- If the driver is unloaded before a nol timer fires, the unload function frees the NOl element. But the memory associated with the nol timer argument which has a one-to-one mapping with nol still remains in the system since the nol timer argument memory is freed in the timer function. Solution:- 1)Instead of allocating a separate structure as input to the timer function use the NOL element itself as input since NOL element already has the information needed by the timer function. 2)A NOL element for which the timer is yet to fire is freed by the driver unload (dfs_nol_timer_cleanup). 3)When dfs_nol_timer_cleanup is about to free a NOL element the corresponding timer may be already running. Therefore, it is required to sync/wait for the timer to finish before the NOL element can be freed. If we do not wait and free the NOL element the timer may access an invalid memory location. Change-Id: I4f37b66777491d92a51ff1ffc2651af1ccf5de29 CRs-Fixed: 2045993
This is CNSS WLAN Host Driver for products starting from iHelium
Description
Languages
C
98.7%
C++
0.9%
Makefile
0.3%
Starlark
0.1%