From bbb6bd65852e530dce86e0c9cc4a604cceff821f Mon Sep 17 00:00:00 2001 From: Naveen Rawat Date: Wed, 8 Nov 2017 11:03:28 -0800 Subject: [PATCH] qcacmn: Do not stop at first object in get vdev by op_mode In API wlan_objmgr_get_vdev_by_opmode_from_psoc, do not stop at first vdev object if the vdev is in logical delete state. Continue till all vdev are iterated or valid vdev is found. Change-Id: I39d10d84ec9cb219d9b2f528e3415d5a4520bae5 CRs-Fixed: 2140337 --- umac/cmn_services/obj_mgr/src/wlan_objmgr_psoc_obj.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/umac/cmn_services/obj_mgr/src/wlan_objmgr_psoc_obj.c b/umac/cmn_services/obj_mgr/src/wlan_objmgr_psoc_obj.c index 8f08b8700de3..2da1880da96e 100644 --- a/umac/cmn_services/obj_mgr/src/wlan_objmgr_psoc_obj.c +++ b/umac/cmn_services/obj_mgr/src/wlan_objmgr_psoc_obj.c @@ -876,7 +876,7 @@ struct wlan_objmgr_vdev *wlan_objmgr_get_vdev_by_opmode_from_psoc( enum QDF_OPMODE opmode, wlan_objmgr_ref_dbgid dbg_id) { - struct wlan_objmgr_vdev *vdev; + struct wlan_objmgr_vdev *vdev = NULL; int vdev_cnt = 0; /* if PSOC is NULL, return */ @@ -895,8 +895,10 @@ struct wlan_objmgr_vdev *wlan_objmgr_get_vdev_by_opmode_from_psoc( if (vdev->vdev_mlme.vdev_opmode == opmode) { wlan_vdev_obj_unlock(vdev); if (wlan_objmgr_vdev_try_get_ref(vdev, dbg_id) != - QDF_STATUS_SUCCESS) + QDF_STATUS_SUCCESS) { vdev = NULL; + continue; + } break; } wlan_vdev_obj_unlock(vdev);