Commit 58ef7c1b authored by Thomas Pedersen's avatar Thomas Pedersen Committed by Johannes Berg

nl80211: include frequency offset in survey info

Recently channels gained a potential frequency offset, so
include this in the per-channel survey info.
Signed-off-by: default avatarThomas Pedersen <thomas@adapt-ip.com>
Link: https://lore.kernel.org/r/20200922022818.15855-16-thomas@adapt-ip.com
[add the offset only if non-zero]
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 1d00ce80
...@@ -4097,6 +4097,7 @@ enum nl80211_user_reg_hint_type { ...@@ -4097,6 +4097,7 @@ enum nl80211_user_reg_hint_type {
* receiving frames destined to the local BSS * receiving frames destined to the local BSS
* @NL80211_SURVEY_INFO_MAX: highest survey info attribute number * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number
* currently defined * currently defined
* @NL80211_SURVEY_INFO_FREQUENCY_OFFSET: center frequency offset in KHz
* @__NL80211_SURVEY_INFO_AFTER_LAST: internal use * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use
*/ */
enum nl80211_survey_info { enum nl80211_survey_info {
...@@ -4112,6 +4113,7 @@ enum nl80211_survey_info { ...@@ -4112,6 +4113,7 @@ enum nl80211_survey_info {
NL80211_SURVEY_INFO_TIME_SCAN, NL80211_SURVEY_INFO_TIME_SCAN,
NL80211_SURVEY_INFO_PAD, NL80211_SURVEY_INFO_PAD,
NL80211_SURVEY_INFO_TIME_BSS_RX, NL80211_SURVEY_INFO_TIME_BSS_RX,
NL80211_SURVEY_INFO_FREQUENCY_OFFSET,
/* keep last */ /* keep last */
__NL80211_SURVEY_INFO_AFTER_LAST, __NL80211_SURVEY_INFO_AFTER_LAST,
......
...@@ -9319,6 +9319,11 @@ static int nl80211_send_survey(struct sk_buff *msg, u32 portid, u32 seq, ...@@ -9319,6 +9319,11 @@ static int nl80211_send_survey(struct sk_buff *msg, u32 portid, u32 seq,
survey->channel->center_freq)) survey->channel->center_freq))
goto nla_put_failure; goto nla_put_failure;
if (survey->channel && survey->channel->freq_offset &&
nla_put_u32(msg, NL80211_SURVEY_INFO_FREQUENCY_OFFSET,
survey->channel->freq_offset))
goto nla_put_failure;
if ((survey->filled & SURVEY_INFO_NOISE_DBM) && if ((survey->filled & SURVEY_INFO_NOISE_DBM) &&
nla_put_u8(msg, NL80211_SURVEY_INFO_NOISE, survey->noise)) nla_put_u8(msg, NL80211_SURVEY_INFO_NOISE, survey->noise))
goto nla_put_failure; goto nla_put_failure;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment