qcacld-3.0: Add logic to create bss peer from connection manager

Add logic to create bss peer from connection manager.

Change-Id: Ia150669b2bbc55ddf722a92617de2a13b7357cb5
CRs-Fixed: 2832727
这个提交包含在:
gaurank kathpalia
2020-12-07 12:00:19 +05:30
提交者 snandini
父节点 2747a1523f
当前提交 81465cfdd5
修改 6 个文件,包含 108 行新增22 行删除

查看文件

@@ -59,6 +59,16 @@ struct cm_vdev_join_rsp {
struct wlan_cm_connect_resp connect_rsp;
};
/**
* struct cm_peer_create_req - bss peer create req
* @vdev_id: vdev_id
* @peer_mac: peer mac to create
*/
struct cm_peer_create_req {
uint8_t vdev_id;
struct qdf_mac_addr peer_mac;
};
/**
* cm_handle_connect_req() - Connection manager ext connect request to start
* vdev and peer assoc state machine
@@ -156,6 +166,14 @@ void cm_free_join_req(struct cm_vdev_join_req *join_req);
*/
QDF_STATUS cm_process_join_req(struct scheduler_msg *msg);
/**
* cm_process_peer_create() - Process bss peer create req
* @msg: scheduler message
*
* Return: QDF_STATUS
*/
QDF_STATUS cm_process_peer_create(struct scheduler_msg *msg);
/**
* cm_process_disconnect_req() - Process vdev disconnect request
* @msg: scheduler message

查看文件

@@ -155,7 +155,33 @@ QDF_STATUS
cm_send_bss_peer_create_req(struct wlan_objmgr_vdev *vdev,
struct qdf_mac_addr *peer_mac)
{
return QDF_STATUS_SUCCESS;
struct scheduler_msg msg;
QDF_STATUS status;
struct cm_peer_create_req *req;
if (!vdev || !peer_mac)
return QDF_STATUS_E_FAILURE;
qdf_mem_zero(&msg, sizeof(msg));
req = qdf_mem_malloc(sizeof(*req));
if (!req)
return QDF_STATUS_E_NOMEM;
req->vdev_id = wlan_vdev_get_id(vdev);
qdf_copy_macaddr(&req->peer_mac, peer_mac);
msg.bodyptr = req;
msg.callback = cm_process_peer_create;
status = scheduler_post_message(QDF_MODULE_ID_MLME,
QDF_MODULE_ID_PE,
QDF_MODULE_ID_PE, &msg);
if (QDF_IS_STATUS_ERROR(status))
qdf_mem_free(req);
return status;
}
QDF_STATUS