ucode: nl80211: add missing survey info attributes and fix DFS CAC time

Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
Felix Fietkau 2026-02-28 11:39:33 +00:00
parent 94a7c4a443
commit d9ac485146
2 changed files with 54 additions and 0 deletions

View file

@ -0,0 +1,36 @@
From: Felix Fietkau <nbd@nbd.name>
Date: Sat, 28 Feb 2026 11:12:22 +0000
Subject: [PATCH] nl80211: add missing survey info attributes
Add in_use, time_bss_rx and frequency_offset to the survey info
nested attribute spec.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
--- a/lib/nl80211.c
+++ b/lib/nl80211.c
@@ -867,16 +867,19 @@ static const uc_nl_nested_spec_t nl80211
static const uc_nl_nested_spec_t nl80211_survey_info_nla = {
.headsize = 0,
- .nattrs = 8,
+ .nattrs = 11,
.attrs = {
{ NL80211_SURVEY_INFO_FREQUENCY, "frequency", DT_U32, 0, NULL },
+ { NL80211_SURVEY_INFO_NOISE, "noise", DT_S8, 0, NULL },
+ { NL80211_SURVEY_INFO_IN_USE, "in_use", DT_FLAG, 0, NULL },
{ NL80211_SURVEY_INFO_TIME, "time", DT_U64, 0, NULL },
- { NL80211_SURVEY_INFO_TIME_TX, "time_tx", DT_U64, 0, NULL },
- { NL80211_SURVEY_INFO_TIME_RX, "time_rx", DT_U64, 0, NULL },
{ NL80211_SURVEY_INFO_TIME_BUSY, "busy", DT_U64, 0, NULL },
{ NL80211_SURVEY_INFO_TIME_EXT_BUSY, "ext_busy", DT_U64, 0, NULL },
+ { NL80211_SURVEY_INFO_TIME_RX, "time_rx", DT_U64, 0, NULL },
+ { NL80211_SURVEY_INFO_TIME_TX, "time_tx", DT_U64, 0, NULL },
{ NL80211_SURVEY_INFO_TIME_SCAN, "scan", DT_U64, 0, NULL },
- { NL80211_SURVEY_INFO_NOISE, "noise", DT_S8, 0, NULL },
+ { NL80211_SURVEY_INFO_TIME_BSS_RX, "time_bss_rx", DT_U64, 0, NULL },
+ { NL80211_SURVEY_INFO_FREQUENCY_OFFSET, "frequency_offset", DT_U32, 0, NULL },
}
};

View file

@ -0,0 +1,18 @@
From: Felix Fietkau <nbd@nbd.name>
Date: Sun, 1 Mar 2026 15:32:06 +0000
Subject: [PATCH] nl80211: fix dfs_cac_time attribute type
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
--- a/lib/nl80211.c
+++ b/lib/nl80211.c
@@ -610,7 +610,7 @@ static const uc_nl_nested_spec_t nl80211
{ NL80211_FREQUENCY_ATTR_NO_HT40_PLUS, "no_ht40_plus", DT_FLAG, 0, NULL },
{ NL80211_FREQUENCY_ATTR_NO_80MHZ, "no_80mhz", DT_FLAG, 0, NULL },
{ NL80211_FREQUENCY_ATTR_NO_160MHZ, "no_160mhz", DT_FLAG, 0, NULL },
- { NL80211_FREQUENCY_ATTR_DFS_CAC_TIME, "dfs_cac_time", DT_FLAG, 0, NULL },
+ { NL80211_FREQUENCY_ATTR_DFS_CAC_TIME, "dfs_cac_time", DT_U32, 0, NULL },
{ NL80211_FREQUENCY_ATTR_INDOOR_ONLY, "indoor_only", DT_FLAG, 0, NULL },
{ NL80211_FREQUENCY_ATTR_IR_CONCURRENT, "ir_concurrent", DT_FLAG, 0, NULL },
{ NL80211_FREQUENCY_ATTR_NO_20MHZ, "no_20mhz", DT_FLAG, 0, NULL },