Skip to content
Snippets Groups Projects

Allow more than one STA Link Metrics TLV in handle_sta_link_metrics_response()

Merged Filip Matusiak requested to merge filmat/devel-15962 into devel
All threads resolved!
+ 9
5
@@ -2479,17 +2479,18 @@ int handle_sta_link_metrics_response(void *cntlr, struct cmdu_buff *cmdu,
return -1;
}
/* TODO: use while[0][idx]*/
if (tv[ASSOC_STA_LINK_METRICS_RESP_ASSOCIATED_STA_LINK_METRICS_IDX][0]) {
while (tv[ASSOC_STA_LINK_METRICS_RESP_ASSOCIATED_STA_LINK_METRICS_IDX][idx]) {
uint8_t *tv_data =
(uint8_t *)tv[ASSOC_STA_LINK_METRICS_RESP_ASSOCIATED_STA_LINK_METRICS_IDX][0]->data;
(uint8_t *)tv[ASSOC_STA_LINK_METRICS_RESP_ASSOCIATED_STA_LINK_METRICS_IDX][idx]->data;
struct tlv_assoc_sta_link_metrics *p =
(struct tlv_assoc_sta_link_metrics *)tv_data;
struct sta *s;
idx++;
s = cntlr_find_sta(c->sta_table, p->macaddr);
if (!s)
return -1;
continue;
offset = sizeof(*p);
for (i = 0; i < p->num_bss; i++) {
@@ -2501,7 +2502,7 @@ int handle_sta_link_metrics_response(void *cntlr, struct cmdu_buff *cmdu,
if (!fh) {
offset += sizeof(*b);
continue;
}
}
if (memcmp(s->bssid, b->bssid, 6)) {
cntlr_dbg(LOG_STA,
@@ -2524,6 +2525,9 @@ int handle_sta_link_metrics_response(void *cntlr, struct cmdu_buff *cmdu,
memcpy(&inform_stalist[6 * iidx++], s->de_sta->macaddr, 6);
}
if (iidx == 0)
cntlr_dbg(LOG_STA, "%s: No STA found in Assoc-Link-Metrics-Resp\n", __func__);
idx = 0;
while (tv[ASSOC_STA_LINK_METRICS_RESP_ASSOCIATED_STA_EXT_LINK_METRICS_IDX][idx]) {
uint8_t *tv_data = (uint8_t *)
Loading