iwinfo: include ht_operation data only if available
authorAnsuel Smith <ansuelsmth@gmail.com>
Wed, 6 Jan 2021 04:57:39 +0000 (05:57 +0100)
committerDaniel Golle <daniel@makrotopia.org>
Wed, 6 Jan 2021 19:42:14 +0000 (19:42 +0000)
Check if ht_operation data are present and add them accordingly.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
iwinfo.c

index 7c9a656a12a31f1ded769963b408b686a485a22f..63ff2a1cb8106ef55765997867d8ea53e588dfae 100644 (file)
--- a/iwinfo.c
+++ b/iwinfo.c
@@ -455,11 +455,13 @@ rpc_iwinfo_scan(struct ubus_context *ctx, struct ubus_object *obj,
                        blobmsg_add_u32(&buf, "quality", e->quality);
                        blobmsg_add_u32(&buf, "quality_max", e->quality_max);
 
-                       t = blobmsg_open_table(&buf, "ht_operation");
-                       blobmsg_add_u32(&buf, "primary_channel", e->ht_chan_info.primary_chan);
-                       blobmsg_add_string(&buf, "secondary_channel_offset", ht_secondary_offset[e->ht_chan_info.secondary_chan_off]);
-                       blobmsg_add_u32(&buf, "channel_width", ht_chan_width[e->ht_chan_info.chan_width]);
-                       blobmsg_close_table(&buf, t);
+                       if (e->ht_chan_info.primary_chan) {
+                               t = blobmsg_open_table(&buf, "ht_operation");
+                               blobmsg_add_u32(&buf, "primary_channel", e->ht_chan_info.primary_chan);
+                               blobmsg_add_string(&buf, "secondary_channel_offset", ht_secondary_offset[e->ht_chan_info.secondary_chan_off]);
+                               blobmsg_add_u32(&buf, "channel_width", ht_chan_width[e->ht_chan_info.chan_width]);
+                               blobmsg_close_table(&buf, t);
+                       }
 
                        if (e->vht_chan_info.center_chan_1) {
                                t = blobmsg_open_table(&buf, "vht_operation");