qcacld-3.0: Pass mld address and assoc link info when creating bss peer

MLO sta needs mld mac and assoc link information to create bss peer
Get mld address and assoc link info from connection manager and pass
it to bss peer creation

Change-Id: Ie04d4eb01f1a039f068b32b6c53aa3e65c919518
CRs-Fixed: 2987483
Этот коммит содержится в:
bings
2021-07-21 14:43:09 +08:00
коммит произвёл Madan Koyyalamudi
родитель b255228887
Коммит bebd7a8b45
9 изменённых файлов: 180 добавлений и 23 удалений

Просмотреть файл

@@ -123,10 +123,16 @@ struct cm_vdev_join_rsp {
* struct cm_peer_create_req - bss peer create req
* @vdev_id: vdev_id
* @peer_mac: peer mac to create
* @mld_mac: peer mld mac
* @is_assoc_peer: is assoc peer or not
*/
struct cm_peer_create_req {
uint8_t vdev_id;
struct qdf_mac_addr peer_mac;
#ifdef WLAN_FEATURE_11BE_MLO
struct qdf_mac_addr mld_mac;
bool is_assoc_peer;
#endif
};
/**
@@ -341,12 +347,16 @@ cm_handle_connect_req(struct wlan_objmgr_vdev *vdev,
* request
* @vdev: VDEV object
* @peer_mac: Peer mac address
* @mld_mac: peer mld mac address
* @is_assoc_peer: is assoc peer or not
*
* Return: QDF_STATUS
*/
QDF_STATUS
cm_send_bss_peer_create_req(struct wlan_objmgr_vdev *vdev,
struct qdf_mac_addr *peer_mac);
struct qdf_mac_addr *peer_mac,
struct qdf_mac_addr *mld_mac,
bool is_assoc_peer);
/**
* cm_csr_connect_rsp() - Connection manager ext connect resp indication

Просмотреть файл

@@ -1218,9 +1218,37 @@ cm_handle_connect_req(struct wlan_objmgr_vdev *vdev,
return status;
}
#ifdef WLAN_FEATURE_11BE_MLO
/**
* cm_set_peer_mld_info() - set mld_mac and is_assoc_peer flag
* @req: cm_peer_create_req
* @mld_mac: mld mac addr
* @is_assoc_peer: is assoc peer
*
* Return: void
*/
static void cm_set_peer_mld_info(struct cm_peer_create_req *req,
struct qdf_mac_addr *mld_mac,
bool is_assoc_peer)
{
if (!req) {
qdf_copy_macaddr(&req->mld_mac, mld_mac);
req->is_assoc_peer = is_assoc_peer;
}
}
#else
static void cm_set_peer_mld_info(struct cm_peer_create_req *req,
struct qdf_mac_addr *mld_mac,
bool is_assoc_peer)
{
}
#endif
QDF_STATUS
cm_send_bss_peer_create_req(struct wlan_objmgr_vdev *vdev,
struct qdf_mac_addr *peer_mac)
struct qdf_mac_addr *peer_mac,
struct qdf_mac_addr *mld_mac,
bool is_assoc_peer)
{
struct scheduler_msg msg;
QDF_STATUS status;
@@ -1237,7 +1265,7 @@ cm_send_bss_peer_create_req(struct wlan_objmgr_vdev *vdev,
req->vdev_id = wlan_vdev_get_id(vdev);
qdf_copy_macaddr(&req->peer_mac, peer_mac);
cm_set_peer_mld_info(req, mld_mac, is_assoc_peer);
msg.bodyptr = req;
msg.type = CM_BSS_PEER_CREATE_REQ;