diff --git a/src/agent.c b/src/agent.c index d84322ccaf8170f2b814c593b2cb12928cf0d94f..69dc901f26a9e4fc434ade99b25a4cb7445bb29d 100644 --- a/src/agent.c +++ b/src/agent.c @@ -2165,6 +2165,17 @@ static void wifi_chan_change_event_handler(void *c, struct blob_attr *msg) freq = blobmsg_get_u32(data[0]); bw = blobmsg_get_u32(data[1]); chan = f2c(freq); + } else { + return; + } + + if (!chan || !bw) { + struct wifi_radio_status radio_status = {}; + + if (!wifi_radio_status(radio->name, &radio_status)) { + chan = radio_status.channel; + bw = radio_status.bandwidth; + } } if (!chan || !bw)