Prechádzať zdrojové kódy

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
Naveen Rawat 7 rokov pred
rodič
commit
bbb6bd6585

+ 4 - 2
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);