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
这个提交包含在:
@@ -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
|
||||
|
在新工单中引用
屏蔽一个用户