3f11bd6b0a71737e8837ce7f9a6861add1f7183e

When a beacon/probe resp is received the scan cache delete the old node (N1) and adds a new node(N2) at the end of the list, If any other process is using old node (N1), for some amount of time driver will have 2 entry for the same AP. Now if driver again receive a beacon/probe resp during this time, it end up deleting the older node (N1) Again and thus making its ref count 0 and freeing it, even when the process using old node (N1) hasnt freed it. To fix this add a active state to the scan node, and mark it inactive or logically delete the node as soon its deleted from ageout, entry update or flush logic. Also do not use the inactive or logically deleted node for any new operation. For this add a logic to return only active nodes in scm_get_next_node. CRs-Fixed: 2155538 Change-Id: I186d3a0b0540f0b572735e1d95239ddcd8c9bdc9
This is CNSS WLAN Host Driver for products starting from iHelium
描述
语言
C
98.7%
C++
0.9%
Makefile
0.3%
Starlark
0.1%