Check if ht_operation data are present and add them accordingly.

Signed-off-by: Ansuel Smith <[email protected]>
---
 iwinfo.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/iwinfo.c b/iwinfo.c
index 7c9a656..63ff2a1 100644
--- 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");
-- 
2.29.2


_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to