mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
qcacmn: Remove vdev/peer locks for trivial APIs
Remove vdev/peer locks from trivial API's. This follows the changes from which the lock requirement from few simple APIs are removed. Change-Id: I9972d51dfd1a42bdedbfd0fd4e67af03d030a1f5 CRs-Fixed: 2060880
This commit is contained in:
parent
5ec0bd3636
commit
b02a649f89
43 changed files with 3 additions and 324 deletions
|
|
@ -142,16 +142,13 @@ static QDF_STATUS tdls_pe_add_peer(struct tdls_add_peer_request *req)
|
|||
addstareq->tdls_oper = TDLS_OPER_ADD;
|
||||
addstareq->transaction_id = 0;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
addstareq->session_id = wlan_vdev_get_id(vdev);
|
||||
peer = wlan_vdev_get_bsspeer(vdev);
|
||||
if (!peer) {
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
tdls_err("bss peer is NULL");
|
||||
status = QDF_STATUS_E_INVAL;
|
||||
goto error;
|
||||
}
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
status = wlan_objmgr_peer_try_get_ref(peer, WLAN_TDLS_NB_ID);
|
||||
if (QDF_IS_STATUS_ERROR(status)) {
|
||||
tdls_err("can't get bss peer");
|
||||
|
|
@ -210,16 +207,13 @@ QDF_STATUS tdls_pe_del_peer(struct tdls_del_peer_request *req)
|
|||
|
||||
delstareq->transaction_id = 0;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
delstareq->session_id = wlan_vdev_get_id(vdev);
|
||||
peer = wlan_vdev_get_bsspeer(vdev);
|
||||
if (!peer) {
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
tdls_err("bss peer is NULL");
|
||||
status = QDF_STATUS_E_INVAL;
|
||||
goto error;
|
||||
}
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
status = wlan_objmgr_peer_try_get_ref(peer, WLAN_TDLS_NB_ID);
|
||||
if (QDF_IS_STATUS_ERROR(status)) {
|
||||
tdls_err("can't get bss peer");
|
||||
|
|
@ -281,16 +275,13 @@ static QDF_STATUS tdls_pe_update_peer(struct tdls_update_peer_request *req)
|
|||
addstareq->tdls_oper = TDLS_OPER_UPDATE;
|
||||
addstareq->transaction_id = 0;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
addstareq->session_id = wlan_vdev_get_id(vdev);
|
||||
peer = wlan_vdev_get_bsspeer(vdev);
|
||||
if (!peer) {
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
tdls_err("bss peer is NULL");
|
||||
status = QDF_STATUS_E_INVAL;
|
||||
goto error;
|
||||
}
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
status = wlan_objmgr_peer_try_get_ref(peer, WLAN_TDLS_NB_ID);
|
||||
if (QDF_IS_STATUS_ERROR(status)) {
|
||||
tdls_err("can't get bss peer");
|
||||
|
|
@ -1477,9 +1468,7 @@ QDF_STATUS tdls_process_del_peer_rsp(struct tdls_del_sta_rsp *rsp)
|
|||
QDF_MAC_ADDR_ARRAY(macaddr),
|
||||
curr_peer->link_status);
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
if (TDLS_IS_LINK_CONNECTED(curr_peer)) {
|
||||
soc_obj->tdls_dereg_tl_peer(
|
||||
|
|
@ -1573,14 +1562,13 @@ tdls_update_uapsd(struct wlan_objmgr_psoc *psoc, struct wlan_objmgr_vdev *vdev,
|
|||
tdls_debug("No need to configure auto trigger:psb is 0");
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
bsspeer = wlan_vdev_get_bsspeer(vdev);
|
||||
if (!bsspeer) {
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
tdls_err("bss peer is NULL");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
qdf_mem_copy(macaddr,
|
||||
wlan_peer_get_macaddr(bsspeer), QDF_MAC_ADDR_SIZE);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
|
@ -1663,9 +1651,7 @@ QDF_STATUS tdls_process_enable_link(struct tdls_oper_request *req)
|
|||
tdls_set_peer_link_status(peer, TDLS_LINK_CONNECTED,
|
||||
TDLS_LINK_SUCCESS);
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
status = soc_obj->tdls_reg_tl_peer(soc_obj->tdls_tl_peer_data,
|
||||
id, mac, peer->sta_id,
|
||||
peer->signature, peer->qos);
|
||||
|
|
@ -1744,9 +1730,7 @@ static QDF_STATUS tdls_config_force_peer(
|
|||
QDF_MAC_ADDR_ARRAY(macaddr));
|
||||
|
||||
vdev = req->vdev;
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
pdev = wlan_vdev_get_pdev(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
vdev_obj = wlan_vdev_get_tdls_vdev_obj(vdev);
|
||||
soc_obj = wlan_vdev_get_tdls_soc_obj(vdev);
|
||||
if (!pdev || !vdev_obj || !soc_obj) {
|
||||
|
|
@ -1784,9 +1768,7 @@ static QDF_STATUS tdls_config_force_peer(
|
|||
/* Update the peer mac to firmware, so firmware could update the
|
||||
* connection table
|
||||
*/
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
peer_update_param->vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
qdf_mem_copy(peer_update_param->peer_macaddr,
|
||||
macaddr, QDF_MAC_ADDR_SIZE);
|
||||
peer_update_param->peer_state = TDLS_PEER_ADD_MAC_ADDR;
|
||||
|
|
@ -1951,9 +1933,7 @@ QDF_STATUS tdls_process_remove_force_peer(struct tdls_oper_request *req)
|
|||
goto error;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
peer_update_param->vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
qdf_mem_copy(peer_update_param->peer_macaddr,
|
||||
macaddr, QDF_MAC_ADDR_SIZE);
|
||||
peer_update_param->peer_state = TDLS_PEER_REMOVE_MAC_ADDR;
|
||||
|
|
|
|||
|
|
@ -32,18 +32,14 @@ bool tdls_is_vdev_connected(struct wlan_objmgr_vdev *vdev)
|
|||
struct wlan_objmgr_peer *peer;
|
||||
enum wlan_peer_state peer_state;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
peer = wlan_vdev_get_bsspeer(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
if (!peer) {
|
||||
tdls_err("peer is null");
|
||||
return false;
|
||||
}
|
||||
|
||||
wlan_peer_obj_lock(peer);
|
||||
peer_state = wlan_peer_mlme_get_state(peer);
|
||||
wlan_peer_obj_unlock(peer);
|
||||
|
||||
if (peer_state != WLAN_ASSOC_STATE) {
|
||||
tdls_err("peer state: %d", peer_state);
|
||||
|
|
@ -58,18 +54,14 @@ bool tdls_is_vdev_authenticated(struct wlan_objmgr_vdev *vdev)
|
|||
struct wlan_objmgr_peer *peer;
|
||||
bool is_authenticated = false;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
peer = wlan_vdev_get_bsspeer(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
if (!peer) {
|
||||
tdls_err("peer is null");
|
||||
return false;
|
||||
}
|
||||
|
||||
wlan_peer_obj_lock(peer);
|
||||
is_authenticated = wlan_peer_mlme_get_auth_state(peer);
|
||||
wlan_peer_obj_unlock(peer);
|
||||
|
||||
return is_authenticated;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -430,9 +430,7 @@ QDF_STATUS tdls_get_vdev_objects(struct wlan_objmgr_vdev *vdev,
|
|||
if (NULL == (*tdls_soc_obj))
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
device_mode = wlan_vdev_mlme_get_opmode(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
if (device_mode != QDF_STA_MODE &&
|
||||
device_mode != QDF_P2P_CLIENT_MODE)
|
||||
|
|
|
|||
|
|
@ -375,9 +375,7 @@ wlan_vdev_get_tdls_soc_obj(struct wlan_objmgr_vdev *vdev)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!psoc) {
|
||||
tdls_err("can't get psoc");
|
||||
return NULL;
|
||||
|
|
@ -427,11 +425,9 @@ wlan_vdev_get_tdls_vdev_obj(struct wlan_objmgr_vdev *vdev)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
vdev_obj = (struct tdls_vdev_priv_obj *)
|
||||
wlan_objmgr_vdev_get_comp_private_obj(vdev,
|
||||
WLAN_UMAC_COMP_TDLS);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
return vdev_obj;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -315,9 +315,7 @@ struct tdls_peer *tdls_is_progress(struct tdls_vdev_priv_obj *vdev_obj,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev_obj->vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev_obj->vdev);
|
||||
wlan_vdev_obj_unlock(vdev_obj->vdev);
|
||||
if (!psoc) {
|
||||
tdls_err("invalid psoc");
|
||||
return NULL;
|
||||
|
|
@ -395,10 +393,8 @@ static void tdls_determine_channel_opclass(struct tdls_soc_priv_obj *soc_obj,
|
|||
if (!(TDLS_IS_OFF_CHANNEL_ENABLED(
|
||||
soc_obj->tdls_configs.tdls_feature_flags)) ||
|
||||
soc_obj->tdls_fw_off_chan_mode != ENABLE_CHANSWITCH) {
|
||||
wlan_vdev_obj_lock(vdev_obj->vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev_obj->vdev);
|
||||
opmode = wlan_vdev_mlme_get_opmode(vdev_obj->vdev);
|
||||
wlan_vdev_obj_unlock(vdev_obj->vdev);
|
||||
|
||||
*channel = policy_mgr_get_channel(soc_obj->soc,
|
||||
opmode, &vdev_id);
|
||||
|
|
@ -482,9 +478,7 @@ void tdls_extract_peer_state_param(struct tdls_peer_update_state *peer_param,
|
|||
}
|
||||
|
||||
qdf_mem_zero(peer_param, sizeof(*peer_param));
|
||||
wlan_vdev_obj_lock(vdev_obj->vdev);
|
||||
peer_param->vdev_id = wlan_vdev_get_id(vdev_obj->vdev);
|
||||
wlan_vdev_obj_unlock(vdev_obj->vdev);
|
||||
|
||||
qdf_mem_copy(peer_param->peer_macaddr,
|
||||
peer->peer_mac.bytes, QDF_MAC_ADDR_SIZE);
|
||||
|
|
|
|||
|
|
@ -244,21 +244,15 @@ QDF_STATUS tgt_tdls_mgmt_frame_process_rx_cb(
|
|||
tdls_err("current tdls vdev is null, can't get vdev id");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
wlan_objmgr_vdev_release_ref(vdev, WLAN_TDLS_SB_ID);
|
||||
} else {
|
||||
wlan_peer_obj_lock(peer);
|
||||
vdev = wlan_peer_get_vdev(peer);
|
||||
wlan_peer_obj_unlock(peer);
|
||||
if (!vdev) {
|
||||
tdls_err("vdev is NULL in peer, drop this frame");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
}
|
||||
|
||||
rx_mgmt_event = qdf_mem_malloc(sizeof(*rx_mgmt_event));
|
||||
|
|
|
|||
Loading…
Reference in a new issue