qcacld-3.0: Take ref count with dbg id API in cfg80211 layer
Replace hdd_objmgr_get/put_vdev by new API hdd_objmgr_get and put_vdev_by_user to specify functionality dbg id. Change-Id: I217d503b30fb26d07644678fff4045fee22a849c CRs-Fixed: 2830030
This commit is contained in:

gecommit door
snandini

bovenliggende
9e561c01d6
commit
451d1aa2b6
@@ -7150,7 +7150,7 @@ static int wlan_hdd_handle_restrict_offchan_config(struct hdd_adapter *adapter,
|
||||
hdd_err("Invalid interface type:%d", dev_mode);
|
||||
return -EINVAL;
|
||||
}
|
||||
vdev = hdd_objmgr_get_vdev(adapter);
|
||||
vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_ID);
|
||||
if (!vdev)
|
||||
return -EINVAL;
|
||||
if (restrict_offchan == 1) {
|
||||
@@ -7184,7 +7184,7 @@ static int wlan_hdd_handle_restrict_offchan_config(struct hdd_adapter *adapter,
|
||||
ret_val = -EINVAL;
|
||||
hdd_err("Invalid RESTRICT_OFFCHAN setting");
|
||||
}
|
||||
hdd_objmgr_put_vdev(vdev);
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
|
||||
return ret_val;
|
||||
}
|
||||
|
||||
@@ -7642,7 +7642,7 @@ hdd_set_dynamic_antenna_mode(struct hdd_adapter *adapter,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
vdev = hdd_objmgr_get_vdev(adapter);
|
||||
vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_ID);
|
||||
if (!vdev) {
|
||||
hdd_err("vdev is NULL");
|
||||
return -EINVAL;
|
||||
@@ -7654,11 +7654,11 @@ hdd_set_dynamic_antenna_mode(struct hdd_adapter *adapter,
|
||||
num_rx_chains,
|
||||
num_tx_chains, band, vdev);
|
||||
if (QDF_IS_STATUS_ERROR(status)) {
|
||||
hdd_objmgr_put_vdev(vdev);
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
|
||||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
hdd_objmgr_put_vdev(vdev);
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
|
||||
|
||||
status = sme_nss_chains_update(mac_handle,
|
||||
&user_cfg,
|
||||
@@ -7865,13 +7865,13 @@ static int hdd_config_modulated_dtim(struct hdd_adapter *adapter,
|
||||
|
||||
modulated_dtim = nla_get_u32(attr);
|
||||
|
||||
vdev = hdd_objmgr_get_vdev(adapter);
|
||||
vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_ID);
|
||||
if (!vdev)
|
||||
return -EINVAL;
|
||||
|
||||
status = ucfg_pmo_config_modulated_dtim(vdev, modulated_dtim);
|
||||
|
||||
hdd_objmgr_put_vdev(vdev);
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
|
||||
|
||||
return qdf_status_to_os_return(status);
|
||||
}
|
||||
@@ -7890,13 +7890,13 @@ static int hdd_config_listen_interval(struct hdd_adapter *adapter,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
vdev = hdd_objmgr_get_vdev(adapter);
|
||||
vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_PMO_ID);
|
||||
if (!vdev)
|
||||
return -EINVAL;
|
||||
|
||||
status = ucfg_pmo_config_listen_interval(vdev, listen_interval);
|
||||
|
||||
hdd_objmgr_put_vdev(vdev);
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_PMO_ID);
|
||||
|
||||
return qdf_status_to_os_return(status);
|
||||
}
|
||||
@@ -8586,13 +8586,13 @@ static int hdd_set_elna_bypass(struct hdd_adapter *adapter,
|
||||
int ret;
|
||||
struct wlan_objmgr_vdev *vdev;
|
||||
|
||||
vdev = hdd_objmgr_get_vdev(adapter);
|
||||
vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_FWOL_NB_ID);
|
||||
if (!vdev)
|
||||
return -EINVAL;
|
||||
|
||||
ret = os_if_fwol_set_elna_bypass(vdev, attr);
|
||||
|
||||
hdd_objmgr_put_vdev(vdev);
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_FWOL_NB_ID);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -8872,13 +8872,13 @@ static int hdd_get_elna_bypass(struct hdd_adapter *adapter,
|
||||
int ret;
|
||||
struct wlan_objmgr_vdev *vdev;
|
||||
|
||||
vdev = hdd_objmgr_get_vdev(adapter);
|
||||
vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_FWOL_NB_ID);
|
||||
if (!vdev)
|
||||
return -EINVAL;
|
||||
|
||||
ret = os_if_fwol_get_elna_bypass(vdev, skb, attr);
|
||||
|
||||
hdd_objmgr_put_vdev(vdev);
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_FWOL_NB_ID);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -17413,11 +17413,12 @@ static int __wlan_hdd_change_station(struct wiphy *wiphy,
|
||||
#if defined(FEATURE_WLAN_TDLS)
|
||||
struct wlan_objmgr_vdev *vdev;
|
||||
|
||||
vdev = hdd_objmgr_get_vdev(adapter);
|
||||
vdev = hdd_objmgr_get_vdev_by_user(adapter,
|
||||
WLAN_OSIF_TDLS_ID);
|
||||
if (!vdev)
|
||||
return -EINVAL;
|
||||
ret = wlan_cfg80211_tdls_update_peer(vdev, mac, params);
|
||||
hdd_objmgr_put_vdev(vdev);
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_TDLS_ID);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@@ -17503,7 +17504,7 @@ static int wlan_hdd_add_key_sap(struct hdd_adapter *adapter,
|
||||
struct hdd_hostapd_state *hostapd_state =
|
||||
WLAN_HDD_GET_HOSTAP_STATE_PTR(adapter);
|
||||
|
||||
vdev = hdd_objmgr_get_vdev(adapter);
|
||||
vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_ID);
|
||||
if (!vdev)
|
||||
return -EINVAL;
|
||||
|
||||
@@ -17513,7 +17514,7 @@ static int wlan_hdd_add_key_sap(struct hdd_adapter *adapter,
|
||||
*/
|
||||
if (wlan_vdev_is_restart_progress(vdev) == QDF_STATUS_SUCCESS) {
|
||||
hdd_err("vdev: %d restart in progress", wlan_vdev_get_id(vdev));
|
||||
hdd_objmgr_put_vdev(vdev);
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
@@ -17527,7 +17528,7 @@ static int wlan_hdd_add_key_sap(struct hdd_adapter *adapter,
|
||||
wma_update_set_key(adapter->vdev_id, pairwise,
|
||||
key_index, cipher);
|
||||
}
|
||||
hdd_objmgr_put_vdev(vdev);
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
|
||||
|
||||
return errno;
|
||||
}
|
||||
@@ -17549,14 +17550,14 @@ static int wlan_hdd_add_key_sta(struct hdd_adapter *adapter,
|
||||
*ft_mode = true;
|
||||
return 0;
|
||||
}
|
||||
vdev = hdd_objmgr_get_vdev(adapter);
|
||||
vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_ID);
|
||||
if (!vdev)
|
||||
return -EINVAL;
|
||||
errno = wlan_cfg80211_crypto_add_key(vdev, (pairwise ?
|
||||
WLAN_CRYPTO_KEY_TYPE_UNICAST :
|
||||
WLAN_CRYPTO_KEY_TYPE_GROUP),
|
||||
key_index);
|
||||
hdd_objmgr_put_vdev(vdev);
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
|
||||
if (!errno && adapter->send_mode_change) {
|
||||
wlan_hdd_send_mode_change_event();
|
||||
adapter->send_mode_change = false;
|
||||
@@ -17611,7 +17612,7 @@ static int __wlan_hdd_cfg80211_add_key(struct wiphy *wiphy,
|
||||
return sme_add_key_krk(mac_handle, adapter->vdev_id,
|
||||
params->key, params->key_len);
|
||||
|
||||
vdev = hdd_objmgr_get_vdev(adapter);
|
||||
vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_ID);
|
||||
if (!vdev)
|
||||
return -EINVAL;
|
||||
if (!pairwise && ((adapter->device_mode == QDF_STA_MODE) ||
|
||||
@@ -17629,7 +17630,7 @@ static int __wlan_hdd_cfg80211_add_key(struct wiphy *wiphy,
|
||||
WLAN_CRYPTO_KEY_TYPE_UNICAST :
|
||||
WLAN_CRYPTO_KEY_TYPE_GROUP),
|
||||
mac_address.bytes, params);
|
||||
hdd_objmgr_put_vdev(vdev);
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
|
||||
if (errno)
|
||||
return errno;
|
||||
cipher = osif_nl_to_crypto_cipher_type(params->cipher);
|
||||
@@ -17907,7 +17908,7 @@ static int __wlan_hdd_cfg80211_set_default_key(struct wiphy *wiphy,
|
||||
if (0 != ret)
|
||||
return ret;
|
||||
|
||||
vdev = hdd_objmgr_get_vdev(adapter);
|
||||
vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_ID);
|
||||
if (!vdev)
|
||||
return -EINVAL;
|
||||
|
||||
@@ -17949,7 +17950,7 @@ static int __wlan_hdd_cfg80211_set_default_key(struct wiphy *wiphy,
|
||||
}
|
||||
|
||||
out:
|
||||
hdd_objmgr_put_vdev(vdev);
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -19736,7 +19737,7 @@ static void hdd_set_wapi_crypto_key_mgmt_param(struct hdd_adapter *adapter)
|
||||
return;
|
||||
}
|
||||
|
||||
vdev = hdd_objmgr_get_vdev(adapter);
|
||||
vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_ID);
|
||||
if (!vdev)
|
||||
return;
|
||||
|
||||
@@ -19757,7 +19758,7 @@ static void hdd_set_wapi_crypto_key_mgmt_param(struct hdd_adapter *adapter)
|
||||
set_val);
|
||||
wlan_crypto_set_vdev_param(vdev, WLAN_CRYPTO_PARAM_MCAST_CIPHER,
|
||||
set_val);
|
||||
hdd_objmgr_put_vdev(vdev);
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -20181,7 +20182,7 @@ static int wlan_hdd_cfg80211_set_privacy(struct hdd_adapter *adapter,
|
||||
roam_profile = hdd_roam_profile(adapter);
|
||||
|
||||
/* populate auth,akm and cipher params for crypto */
|
||||
vdev = hdd_objmgr_get_vdev(adapter);
|
||||
vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_ID);
|
||||
if (!vdev)
|
||||
return -EINVAL;
|
||||
hdd_populate_crypto_params(vdev, req);
|
||||
@@ -20272,7 +20273,7 @@ static int wlan_hdd_cfg80211_set_privacy(struct hdd_adapter *adapter,
|
||||
}
|
||||
}
|
||||
release_vdev_ref:
|
||||
hdd_objmgr_put_vdev(vdev);
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
|
||||
|
||||
return status;
|
||||
}
|
||||
@@ -21120,7 +21121,7 @@ static int __wlan_hdd_cfg80211_disconnect(struct wiphy *wiphy,
|
||||
break;
|
||||
}
|
||||
|
||||
vdev = hdd_objmgr_get_vdev(adapter);
|
||||
vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_ID);
|
||||
if (!vdev)
|
||||
return -EINVAL;
|
||||
if (ucfg_scan_get_vdev_status(vdev) != SCAN_NOT_IN_PROGRESS)
|
||||
@@ -21132,7 +21133,7 @@ static int __wlan_hdd_cfg80211_disconnect(struct wiphy *wiphy,
|
||||
/* First clean up the tdls peers if any */
|
||||
hdd_notify_sta_disconnect(adapter->vdev_id,
|
||||
false, true, vdev);
|
||||
hdd_objmgr_put_vdev(vdev);
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
|
||||
|
||||
hdd_nofl_info("%s(vdevid-%d): Received Disconnect reason:%d %s",
|
||||
dev->name, adapter->vdev_id, reason,
|
||||
@@ -21784,11 +21785,13 @@ static int __wlan_hdd_cfg80211_add_station(struct wiphy *wiphy,
|
||||
if (set & BIT(NL80211_STA_FLAG_TDLS_PEER)) {
|
||||
struct wlan_objmgr_vdev *vdev;
|
||||
|
||||
vdev = hdd_objmgr_get_vdev(adapter);
|
||||
vdev = hdd_objmgr_get_vdev_by_user(adapter,
|
||||
WLAN_OSIF_TDLS_ID);
|
||||
if (vdev) {
|
||||
status = wlan_cfg80211_tdls_add_peer(vdev,
|
||||
mac);
|
||||
hdd_objmgr_put_vdev(vdev);
|
||||
hdd_objmgr_put_vdev_by_user(vdev,
|
||||
WLAN_OSIF_TDLS_ID);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -21849,13 +21852,13 @@ static QDF_STATUS wlan_hdd_set_pmksa_cache(struct hdd_adapter *adapter,
|
||||
return QDF_STATUS_E_INVAL;
|
||||
mac_handle = hdd_ctx->mac_handle;
|
||||
|
||||
vdev = hdd_objmgr_get_vdev(adapter);
|
||||
vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_ID);
|
||||
if (!vdev)
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
pmksa = qdf_mem_malloc(sizeof(*pmksa));
|
||||
if (!pmksa) {
|
||||
hdd_objmgr_put_vdev(vdev);
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
|
||||
return QDF_STATUS_E_NOMEM;
|
||||
}
|
||||
|
||||
@@ -21881,7 +21884,7 @@ static QDF_STATUS wlan_hdd_set_pmksa_cache(struct hdd_adapter *adapter,
|
||||
sme_roam_set_psk_pmk(mac_handle, adapter->vdev_id,
|
||||
pmk_cache->pmk, pmk_cache->pmk_len,
|
||||
false);
|
||||
hdd_objmgr_put_vdev(vdev);
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
|
||||
|
||||
return result;
|
||||
}
|
||||
@@ -21893,13 +21896,13 @@ static QDF_STATUS wlan_hdd_del_pmksa_cache(struct hdd_adapter *adapter,
|
||||
struct wlan_crypto_pmksa pmksa;
|
||||
struct wlan_objmgr_vdev *vdev;
|
||||
|
||||
vdev = hdd_objmgr_get_vdev(adapter);
|
||||
vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_ID);
|
||||
if (!vdev)
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
qdf_copy_macaddr(&pmksa.bssid, &pmk_cache->BSSID);
|
||||
result = wlan_crypto_set_del_pmksa(vdev, &pmksa, false);
|
||||
hdd_objmgr_put_vdev(vdev);
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
|
||||
|
||||
return result;
|
||||
}
|
||||
@@ -21909,12 +21912,12 @@ QDF_STATUS wlan_hdd_flush_pmksa_cache(struct hdd_adapter *adapter)
|
||||
QDF_STATUS result;
|
||||
struct wlan_objmgr_vdev *vdev;
|
||||
|
||||
vdev = hdd_objmgr_get_vdev(adapter);
|
||||
vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_ID);
|
||||
if (!vdev)
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
result = wlan_crypto_set_del_pmksa(vdev, NULL, false);
|
||||
hdd_objmgr_put_vdev(vdev);
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
|
||||
|
||||
return result;
|
||||
}
|
||||
@@ -24234,7 +24237,7 @@ static int __wlan_hdd_cfg80211_get_channel(struct wiphy *wiphy,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
vdev = hdd_objmgr_get_vdev(adapter);
|
||||
vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_ID);
|
||||
if (!vdev)
|
||||
return -EINVAL;
|
||||
|
||||
@@ -24276,7 +24279,7 @@ static int __wlan_hdd_cfg80211_get_channel(struct wiphy *wiphy,
|
||||
break;
|
||||
}
|
||||
|
||||
hdd_objmgr_put_vdev(vdev);
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
|
||||
hdd_debug("primary_freq:%d, ch_width:%d, center_freq1:%d, center_freq2:%d",
|
||||
chan_freq, chandef->width, chandef->center_freq1,
|
||||
chandef->center_freq2);
|
||||
|
Verwijs in nieuw issue
Block a user