47 lines
1.6 KiB
Diff
47 lines
1.6 KiB
Diff
--- a/include/net/cfg80211.h
|
|
+++ b/include/net/cfg80211.h
|
|
@@ -294,12 +294,14 @@ struct key_params {
|
|
* enum survey_info_flags - survey information flags
|
|
*
|
|
* @SURVEY_INFO_NOISE_DBM: noise (in dBm) was filled in
|
|
+ * @SURVEY_INFO_IN_USE: channel is currently being used
|
|
*
|
|
* Used by the driver to indicate which info in &struct survey_info
|
|
* it has filled in during the get_survey().
|
|
*/
|
|
enum survey_info_flags {
|
|
SURVEY_INFO_NOISE_DBM = 1<<0,
|
|
+ SURVEY_INFO_IN_USE = 1<<1,
|
|
};
|
|
|
|
/**
|
|
--- a/include/linux/nl80211.h
|
|
+++ b/include/linux/nl80211.h
|
|
@@ -1400,6 +1400,7 @@ enum nl80211_reg_rule_flags {
|
|
* @__NL80211_SURVEY_INFO_INVALID: attribute number 0 is reserved
|
|
* @NL80211_SURVEY_INFO_FREQUENCY: center frequency of channel
|
|
* @NL80211_SURVEY_INFO_NOISE: noise level of channel (u8, dBm)
|
|
+ * @NL80211_SURVEY_INFO_IN_USE: channel is currently being used
|
|
* @NL80211_SURVEY_INFO_MAX: highest survey info attribute number
|
|
* currently defined
|
|
* @__NL80211_SURVEY_INFO_AFTER_LAST: internal use
|
|
@@ -1408,6 +1409,7 @@ enum nl80211_survey_info {
|
|
__NL80211_SURVEY_INFO_INVALID,
|
|
NL80211_SURVEY_INFO_FREQUENCY,
|
|
NL80211_SURVEY_INFO_NOISE,
|
|
+ NL80211_SURVEY_INFO_IN_USE,
|
|
|
|
/* keep last */
|
|
__NL80211_SURVEY_INFO_AFTER_LAST,
|
|
--- a/net/wireless/nl80211.c
|
|
+++ b/net/wireless/nl80211.c
|
|
@@ -3491,6 +3491,8 @@ static int nl80211_send_survey(struct sk
|
|
if (survey->filled & SURVEY_INFO_NOISE_DBM)
|
|
NLA_PUT_U8(msg, NL80211_SURVEY_INFO_NOISE,
|
|
survey->noise);
|
|
+ if (survey->filled & SURVEY_INFO_IN_USE)
|
|
+ NLA_PUT_FLAG(msg, NL80211_SURVEY_INFO_IN_USE);
|
|
|
|
nla_nest_end(msg, infoattr);
|
|
|