diff --git a/src/core/cntlr_map_debug.c b/src/core/cntlr_map_debug.c index fad2834d5f40d39e76e3a24de8a0c80f048263ab..49adebdf1455e042a31e8306f54e3f58dbdba773 100644 --- a/src/core/cntlr_map_debug.c +++ b/src/core/cntlr_map_debug.c @@ -1117,18 +1117,20 @@ int debug_channel_scan_report(void *cntlr, struct cmdu_cstruct *cmdu) trace("\top_class: %d\n", p1->op_class); trace("\tch: %d\n", p1->ch); trace("\tscan_res: 0x%02x\n", p1->scan_res); - trace("\ttime_len: %d\n", p1->time_len); - if (!p1->timestamp) - trace("\ttimestamp: %s\n", p1->timestamp); - trace("\tutilization: %d\n", p1->utilization); - trace("\tnoise: %d\n", p1->noise); - trace("\tnbr_neighbor: %d\n", p1->nbr_neighbors); - for (j = 0; j < p1->nbr_neighbors; j++) { - trace("\n\t\tbssid: " MACFMT "\n", MAC2STR(p1->neighbor_data[j].bssid)); - trace("\t\tssid: %s\n", p1->neighbor_data[j].ssid); - trace("\t\tssid_len: %d\n", p1->neighbor_data[j].ssid_len); - trace("\t\tsignal_strength: %d\n", (signed char)p1->neighbor_data[j].signal_strength); - trace("\t\tbss_load_elm_present: %d\n", p1->neighbor_data[j].bss_load_elm_present); + if (p1->scan_res == 0x00) { + trace("\ttime_len: %d\n", p1->time_len); + if (!p1->timestamp) + trace("\ttimestamp: %s\n", p1->timestamp); + trace("\tutilization: %d\n", p1->utilization); + trace("\tnoise: %d\n", p1->noise); + trace("\tnbr_neighbor: %d\n", p1->nbr_neighbors); + for (j = 0; j < p1->nbr_neighbors; j++) { + trace("\n\t\tbssid: " MACFMT "\n", MAC2STR(p1->neighbor_data[j].bssid)); + trace("\t\tssid: %s\n", p1->neighbor_data[j].ssid); + trace("\t\tssid_len: %d\n", p1->neighbor_data[j].ssid_len); + trace("\t\tsignal_strength: %d\n", (signed char)p1->neighbor_data[j].signal_strength); + trace("\t\tbss_load_elm_present: %d\n", p1->neighbor_data[j].bss_load_elm_present); + } } break; } diff --git a/src/core/cntlr_ubus.c b/src/core/cntlr_ubus.c index c79d9e54fe59c54e714ef5121e268f1cadedce15..bbe37e0133680cf24435cd1ef6b10e872118b4fc 100644 --- a/src/core/cntlr_ubus.c +++ b/src/core/cntlr_ubus.c @@ -1653,14 +1653,14 @@ static int cntlr_scan(struct ubus_context *ctx, struct ubus_object *obj, //(ubus call wifi.ap.wl0 status -> bssid) if (!hwaddr_aton(radio[i], p->radio_data[i].radio_id)) { dbg("failed to hwaddr radio_id\n"); - return UBUS_STATUS_UNKNOWN_ERROR; + return UBUS_STATUS_UNKNOWN_ERROR; } p->radio_data[i].nbr_op_class = 1; //num_ch_to_scan; // TODO if (p->radio_data[i].nbr_op_class > 0) { p->radio_data[i].op_class_data = calloc(p->radio_data[i].nbr_op_class, sizeof(*p->radio_data[i].op_class_data)); - } + } if (p->radio_data[i].op_class_data) { - for (int j = 0; j < p->radio_data[i].nbr_op_class; j++) { + for (int j = 0; j < p->radio_data[i].nbr_op_class; j++) { /* j is already defined */ p->radio_data[i].op_class_data[j].nbr_ch = num_ch_to_scan[i]; // if (p->radio_data[i].op_class_data[j].nbr_ch==0) {all ch} // channel list @@ -1673,6 +1673,7 @@ static int cntlr_scan(struct ubus_context *ctx, struct ubus_object *obj, cmdu_data->tlvs[0] = (uint8_t *)p; strncpy(cmdu_data->intf_name, c->cfg.al_bridge, 15); send_cmdu(c, cmdu_data); + map_free_cmdu(cmdu_data); return 0; }