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
Этот коммит содержится в:

коммит произвёл
Madan Koyyalamudi

родитель
b255228887
Коммит
bebd7a8b45
@@ -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;
|
||||
|
||||
|
Ссылка в новой задаче
Block a user