qcacmn: Store MSCS context in MLD peer in case of MLO connection
Store MSCS context in MLD peer in case of MLO connection Change-Id: I482e2259077eb8c74aeed93beb8472a683ce2817 CRs-Fixed: 3457780
This commit is contained in:

committed by
Madan Koyyalamudi

parent
b0e26ae525
commit
56c08d2ecf
@@ -4963,6 +4963,7 @@ dp_record_mscs_params(struct cdp_soc_t *soc_hdl, uint8_t *peer_mac,
|
|||||||
bool active)
|
bool active)
|
||||||
{
|
{
|
||||||
struct dp_peer *peer;
|
struct dp_peer *peer;
|
||||||
|
struct dp_peer *tgt_peer;
|
||||||
QDF_STATUS status = QDF_STATUS_E_INVAL;
|
QDF_STATUS status = QDF_STATUS_E_INVAL;
|
||||||
struct dp_soc *soc = (struct dp_soc *)soc_hdl;
|
struct dp_soc *soc = (struct dp_soc *)soc_hdl;
|
||||||
|
|
||||||
@@ -4973,37 +4974,42 @@ dp_record_mscs_params(struct cdp_soc_t *soc_hdl, uint8_t *peer_mac,
|
|||||||
dp_err("Peer is NULL!");
|
dp_err("Peer is NULL!");
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tgt_peer = dp_get_tgt_peer_from_peer(peer);
|
||||||
|
if (!tgt_peer)
|
||||||
|
goto fail;
|
||||||
|
|
||||||
if (!active) {
|
if (!active) {
|
||||||
dp_info("MSCS Procedure is terminated");
|
dp_info("MSCS Procedure is terminated");
|
||||||
peer->mscs_active = active;
|
tgt_peer->mscs_active = active;
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mscs_params->classifier_type == IEEE80211_TCLAS_MASK_CLA_TYPE_4) {
|
if (mscs_params->classifier_type == IEEE80211_TCLAS_MASK_CLA_TYPE_4) {
|
||||||
/* Populate entries inside IPV4 database first */
|
/* Populate entries inside IPV4 database first */
|
||||||
peer->mscs_ipv4_parameter.user_priority_bitmap =
|
tgt_peer->mscs_ipv4_parameter.user_priority_bitmap =
|
||||||
mscs_params->user_pri_bitmap;
|
mscs_params->user_pri_bitmap;
|
||||||
peer->mscs_ipv4_parameter.user_priority_limit =
|
tgt_peer->mscs_ipv4_parameter.user_priority_limit =
|
||||||
mscs_params->user_pri_limit;
|
mscs_params->user_pri_limit;
|
||||||
peer->mscs_ipv4_parameter.classifier_mask =
|
tgt_peer->mscs_ipv4_parameter.classifier_mask =
|
||||||
mscs_params->classifier_mask;
|
mscs_params->classifier_mask;
|
||||||
|
|
||||||
/* Populate entries inside IPV6 database */
|
/* Populate entries inside IPV6 database */
|
||||||
peer->mscs_ipv6_parameter.user_priority_bitmap =
|
tgt_peer->mscs_ipv6_parameter.user_priority_bitmap =
|
||||||
mscs_params->user_pri_bitmap;
|
mscs_params->user_pri_bitmap;
|
||||||
peer->mscs_ipv6_parameter.user_priority_limit =
|
tgt_peer->mscs_ipv6_parameter.user_priority_limit =
|
||||||
mscs_params->user_pri_limit;
|
mscs_params->user_pri_limit;
|
||||||
peer->mscs_ipv6_parameter.classifier_mask =
|
tgt_peer->mscs_ipv6_parameter.classifier_mask =
|
||||||
mscs_params->classifier_mask;
|
mscs_params->classifier_mask;
|
||||||
peer->mscs_active = 1;
|
tgt_peer->mscs_active = 1;
|
||||||
dp_info("\n\tMSCS Procedure request based parameters for "QDF_MAC_ADDR_FMT"\n"
|
dp_info("\n\tMSCS Procedure request based parameters for "QDF_MAC_ADDR_FMT"\n"
|
||||||
"\tClassifier_type = %d\tUser priority bitmap = %x\n"
|
"\tClassifier_type = %d\tUser priority bitmap = %x\n"
|
||||||
"\tUser priority limit = %x\tClassifier mask = %x",
|
"\tUser priority limit = %x\tClassifier mask = %x",
|
||||||
QDF_MAC_ADDR_REF(peer_mac),
|
QDF_MAC_ADDR_REF(peer_mac),
|
||||||
mscs_params->classifier_type,
|
mscs_params->classifier_type,
|
||||||
peer->mscs_ipv4_parameter.user_priority_bitmap,
|
tgt_peer->mscs_ipv4_parameter.user_priority_bitmap,
|
||||||
peer->mscs_ipv4_parameter.user_priority_limit,
|
tgt_peer->mscs_ipv4_parameter.user_priority_limit,
|
||||||
peer->mscs_ipv4_parameter.classifier_mask);
|
tgt_peer->mscs_ipv4_parameter.classifier_mask);
|
||||||
}
|
}
|
||||||
|
|
||||||
status = QDF_STATUS_SUCCESS;
|
status = QDF_STATUS_SUCCESS;
|
||||||
|
Reference in New Issue
Block a user