mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 19:51:31 -04:00
qcacmn: Add host data path functions for TDLS
Add and enable host data path functions for Napier TDLS. Change-Id: I228c2dcf4e8d797d173007a3306d112aca5ba52f CRs-Fixed: 2114813
This commit is contained in:
parent
54771c7c6d
commit
60e3b3062d
8 changed files with 153 additions and 8 deletions
|
|
@ -1133,6 +1133,10 @@ QDF_STATUS tdls_process_del_peer(struct tdls_oper_request *req)
|
|||
struct wlan_serialization_command cmd = {0,};
|
||||
enum wlan_serialization_status ser_cmd_status;
|
||||
struct wlan_objmgr_vdev *vdev;
|
||||
struct tdls_vdev_priv_obj *vdev_obj;
|
||||
struct tdls_soc_priv_obj *soc_obj;
|
||||
uint8_t *mac;
|
||||
struct tdls_peer *peer;
|
||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||
|
||||
if (!req || !req->vdev) {
|
||||
|
|
@ -1140,7 +1144,35 @@ QDF_STATUS tdls_process_del_peer(struct tdls_oper_request *req)
|
|||
status = QDF_STATUS_E_INVAL;
|
||||
goto error;
|
||||
}
|
||||
|
||||
vdev = req->vdev;
|
||||
|
||||
/* vdev reference cnt is acquired in ucfg_tdls_oper */
|
||||
vdev_obj = wlan_vdev_get_tdls_vdev_obj(vdev);
|
||||
soc_obj = wlan_vdev_get_tdls_soc_obj(vdev);
|
||||
|
||||
if (!vdev_obj || !soc_obj) {
|
||||
tdls_err("tdls vdev_obj: %p soc_obj: %p", vdev_obj, soc_obj);
|
||||
status = QDF_STATUS_E_NULL_VALUE;
|
||||
goto error;
|
||||
}
|
||||
|
||||
mac = req->peer_addr;
|
||||
peer = tdls_find_peer(vdev_obj, mac);
|
||||
if (!peer) {
|
||||
tdls_err(QDF_MAC_ADDRESS_STR
|
||||
" not found, ignore NL80211_TDLS_ENABLE_LINK",
|
||||
QDF_MAC_ADDR_ARRAY(mac));
|
||||
status = QDF_STATUS_E_INVAL;
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (soc_obj->tdls_dp_vdev_update)
|
||||
soc_obj->tdls_dp_vdev_update(&soc_obj->soc,
|
||||
peer->sta_id,
|
||||
soc_obj->tdls_update_dp_vdev_flags,
|
||||
false);
|
||||
|
||||
cmd.cmd_type = WLAN_SER_CMD_TDLS_DEL_PEER;
|
||||
cmd.cmd_id = 0;
|
||||
cmd.cmd_cb = (wlan_serialization_cmd_callback)
|
||||
|
|
@ -1904,8 +1936,7 @@ QDF_STATUS tdls_process_remove_force_peer(struct tdls_oper_request *req)
|
|||
soc_obj->tdls_dp_vdev_update(&soc_obj->soc,
|
||||
peer->sta_id,
|
||||
soc_obj->tdls_update_dp_vdev_flags,
|
||||
((peer->link_status ==
|
||||
TDLS_LINK_CONNECTED) ? true : false));
|
||||
false);
|
||||
|
||||
if (soc_obj->tdls_event_cb) {
|
||||
qdf_mem_copy(ind.peer_mac, macaddr, QDF_MAC_ADDR_SIZE);
|
||||
|
|
|
|||
|
|
@ -532,8 +532,7 @@ void tdls_indicate_teardown(struct tdls_vdev_priv_obj *tdls_vdev,
|
|||
tdls_soc->tdls_dp_vdev_update(&tdls_soc->soc,
|
||||
curr_peer->sta_id,
|
||||
tdls_soc->tdls_update_dp_vdev_flags,
|
||||
((curr_peer->link_status ==
|
||||
TDLS_LINK_CONNECTED) ? true : false));
|
||||
false);
|
||||
|
||||
indication.reason = reason;
|
||||
indication.vdev = tdls_vdev->vdev;
|
||||
|
|
|
|||
|
|
@ -218,6 +218,7 @@ QDF_STATUS ucfg_tdls_update_config(struct wlan_objmgr_psoc *psoc,
|
|||
soc_obj->tdls_update_peer_state = req->tdls_update_peer_state;
|
||||
soc_obj->tdls_del_all_peers = req->tdls_del_all_peers;
|
||||
soc_obj->tdls_update_dp_vdev_flags = req->tdls_update_dp_vdev_flags;
|
||||
soc_obj->tdls_dp_vdev_update = req->tdls_dp_vdev_update;
|
||||
tdls_pm_call_backs.tdls_notify_increment_session =
|
||||
tdls_notify_increment_session;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue