qcacmn: Release vdev ref in os_if_ndp_end_ind_handler
NAN vdev ref count incremented as part of end_ind handler is not released which will result in the nan vdev not getting physically deleted. Fix is to release nan vdev ref in os_if_ndp_end_ind_handler. Change-Id: I31a32fa241fb9e86d3a64d490722bc42905970c4 CRs-Fixed: 2325580
This commit is contained in:

committed by
nshrivas

parent
634d8e8111
commit
1c9262fb98
@@ -1496,17 +1496,19 @@ static void os_if_ndp_end_ind_handler(struct wlan_objmgr_vdev *vdev,
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
idx = cb_obj.get_peer_idx(wlan_vdev_get_id(vdev),
|
idx = cb_obj.get_peer_idx(wlan_vdev_get_id(vdev_itr),
|
||||||
&end_ind->ndp_map[i].peer_ndi_mac_addr);
|
&end_ind->ndp_map[i].peer_ndi_mac_addr);
|
||||||
if (idx < 0) {
|
if (idx < 0) {
|
||||||
cfg80211_err("can't find addr: %pM in sta_ctx.",
|
cfg80211_err("can't find addr: %pM in sta_ctx.",
|
||||||
&end_ind->ndp_map[i].peer_ndi_mac_addr);
|
&end_ind->ndp_map[i].peer_ndi_mac_addr);
|
||||||
|
wlan_objmgr_vdev_release_ref(vdev_itr, WLAN_NAN_ID);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
/* save the value of active sessions on each peer */
|
/* save the value of active sessions on each peer */
|
||||||
ucfg_nan_set_active_ndp_sessions(vdev,
|
ucfg_nan_set_active_ndp_sessions(vdev_itr,
|
||||||
end_ind->ndp_map[i].num_active_ndp_sessions,
|
end_ind->ndp_map[i].num_active_ndp_sessions,
|
||||||
idx);
|
idx);
|
||||||
|
wlan_objmgr_vdev_release_ref(vdev_itr, WLAN_NAN_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
data_len = osif_ndp_get_ndp_end_ind_len(end_ind);
|
data_len = osif_ndp_get_ndp_end_ind_len(end_ind);
|
||||||
|
Reference in New Issue
Block a user