Skip to content
Snippets Groups Projects
Commit 166f083c authored by Anjan Chanda's avatar Anjan Chanda
Browse files

fix radio lookup in agent from 'band'

parent 398417c1
Branches
No related tags found
3 merge requests!295wifi_opclass: add wifi_radio_opclass_update_channel,!294Revert "fix typo query_channel_pref enum",!293Draft: Janusz cntlr apis
......@@ -216,22 +216,32 @@ int COMMAND(scan)(void *priv, void *args, void *out)
if (tb[SCAN_ATTR_BAND]) {
int band = blobmsg_get_u32(tb[SCAN_ATTR_BAND]);
struct netif_radio *r;
bool found = false;
if (band != 2 && band != 5 && band != 6)
return -EINVAL;
list_for_each_entry(r, &n->radiolist, list) {
if (band == 2 && r->radio_el->band == BAND_2)
dbg("%s: r->radio_el->macaddr = " MACFMT ", band = %d\n", __func__,
MAC2STR(r->radio_el->macaddr), r->radio_el->band);
if (band == 2 && r->radio_el->band == BAND_2) {
memcpy(sreq.radios[0].radio_mac, r->radio_el->macaddr, 6);
else if (band == 5 && r->radio_el->band == BAND_5)
found = true;
} else if (band == 5 && r->radio_el->band == BAND_5) {
memcpy(sreq.radios[0].radio_mac, r->radio_el->macaddr, 6);
else if (band == 6 && r->radio_el->band == BAND_6)
found = true;
} else if (band == 6 && r->radio_el->band == BAND_6) {
memcpy(sreq.radios[0].radio_mac, r->radio_el->macaddr, 6);
else {
found = true;
}
}
if (!found) {
dbg("radio for band %d not found in Agent\n", band);
return -EINVAL;
}
}
sreq.num_radio = 1;
} else if (tb[SCAN_ATTR_RADIO]) {
......@@ -372,6 +382,7 @@ int COMMAND(scanresults)(void *priv, void *args, void *out)
blobmsg_for_each_attr(cur, tb[SCANRESULTS_ATTR_BAND], rem) {
int band = blobmsg_get_u32(cur);
struct netif_radio *r;
bool found = false;
int k = 0;
if (band != 2 && band != 5 && band != 6)
......@@ -383,11 +394,14 @@ int COMMAND(scanresults)(void *priv, void *args, void *out)
(band == 6 && r->radio_el->band == BAND_6)) {
memcpy(radios[k++], r->radio_el->macaddr, 6);
} else {
found = true;
}
}
if (!found) {
dbg("radio for band %d not found in Agent\n", band);
return -EINVAL;
}
}
if (k == MAX_NUM_RADIO)
break;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment