qcacmn: Avoid race condtion in wlan_serialization_pdev_scan_status

wlan_serialization_pdev_scan_status is used to check whether
there is scan cmd in active or pending list,  don't need to
check details of each node in list.

While checking details of a node in list by wpa_supplicant,
the node may be removed by mc thread in race condition.

Change-Id: I019869c23ebb7d6e157babf5ad6eaf0668ff842a
CRs-Fixed: 2268619
This commit is contained in:
Jianmin Zhu
2018-06-29 18:42:46 +08:00
committed by nshrivas
parent 98b7303494
commit 480210436f

View File

@@ -303,13 +303,8 @@ wlan_serialization_pdev_scan_status(struct wlan_objmgr_pdev *pdev)
struct wlan_serialization_pdev_priv_obj *ser_pdev_obj =
wlan_serialization_get_pdev_priv_obj(pdev);
cmd_in_active =
wlan_serialization_is_cmd_in_pdev_list(
pdev, &ser_pdev_obj->active_scan_list);
cmd_in_pending =
wlan_serialization_is_cmd_in_pdev_list(
pdev, &ser_pdev_obj->pending_scan_list);
cmd_in_active = !qdf_list_empty(&ser_pdev_obj->active_scan_list);
cmd_in_pending = !qdf_list_empty(&ser_pdev_obj->pending_scan_list);
return wlan_serialization_is_cmd_in_active_pending(
cmd_in_active, cmd_in_pending);