diff options
-rw-r--r-- | include/linux/nl80211.h | 2 | ||||
-rw-r--r-- | include/net/cfg80211.h | 5 | ||||
-rw-r--r-- | net/wireless/nl80211.c | 4 |
3 files changed, 10 insertions, 1 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h index 9d797f253d8e..8049bf77d799 100644 --- a/include/linux/nl80211.h +++ b/include/linux/nl80211.h | |||
@@ -1548,6 +1548,7 @@ enum nl80211_sta_bss_param { | |||
1548 | * @NL80211_STA_INFO_BSS_PARAM: current station's view of BSS, nested attribute | 1548 | * @NL80211_STA_INFO_BSS_PARAM: current station's view of BSS, nested attribute |
1549 | * containing info as possible, see &enum nl80211_sta_bss_param | 1549 | * containing info as possible, see &enum nl80211_sta_bss_param |
1550 | * @NL80211_STA_INFO_CONNECTED_TIME: time since the station is last connected | 1550 | * @NL80211_STA_INFO_CONNECTED_TIME: time since the station is last connected |
1551 | * @NL80211_STA_INFO_STA_FLAGS: Contains a struct nl80211_sta_flag_update. | ||
1551 | * @__NL80211_STA_INFO_AFTER_LAST: internal | 1552 | * @__NL80211_STA_INFO_AFTER_LAST: internal |
1552 | * @NL80211_STA_INFO_MAX: highest possible station info attribute | 1553 | * @NL80211_STA_INFO_MAX: highest possible station info attribute |
1553 | */ | 1554 | */ |
@@ -1569,6 +1570,7 @@ enum nl80211_sta_info { | |||
1569 | NL80211_STA_INFO_RX_BITRATE, | 1570 | NL80211_STA_INFO_RX_BITRATE, |
1570 | NL80211_STA_INFO_BSS_PARAM, | 1571 | NL80211_STA_INFO_BSS_PARAM, |
1571 | NL80211_STA_INFO_CONNECTED_TIME, | 1572 | NL80211_STA_INFO_CONNECTED_TIME, |
1573 | NL80211_STA_INFO_STA_FLAGS, | ||
1572 | 1574 | ||
1573 | /* keep last */ | 1575 | /* keep last */ |
1574 | __NL80211_STA_INFO_AFTER_LAST, | 1576 | __NL80211_STA_INFO_AFTER_LAST, |
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 74f4f85be32f..92cf1c2c30c9 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -497,6 +497,7 @@ struct station_parameters { | |||
497 | * @STATION_INFO_BSS_PARAM: @bss_param filled | 497 | * @STATION_INFO_BSS_PARAM: @bss_param filled |
498 | * @STATION_INFO_CONNECTED_TIME: @connected_time filled | 498 | * @STATION_INFO_CONNECTED_TIME: @connected_time filled |
499 | * @STATION_INFO_ASSOC_REQ_IES: @assoc_req_ies filled | 499 | * @STATION_INFO_ASSOC_REQ_IES: @assoc_req_ies filled |
500 | * @STATION_INFO_STA_FLAGS: @sta_flags filled | ||
500 | */ | 501 | */ |
501 | enum station_info_flags { | 502 | enum station_info_flags { |
502 | STATION_INFO_INACTIVE_TIME = 1<<0, | 503 | STATION_INFO_INACTIVE_TIME = 1<<0, |
@@ -516,7 +517,8 @@ enum station_info_flags { | |||
516 | STATION_INFO_RX_BITRATE = 1<<14, | 517 | STATION_INFO_RX_BITRATE = 1<<14, |
517 | STATION_INFO_BSS_PARAM = 1<<15, | 518 | STATION_INFO_BSS_PARAM = 1<<15, |
518 | STATION_INFO_CONNECTED_TIME = 1<<16, | 519 | STATION_INFO_CONNECTED_TIME = 1<<16, |
519 | STATION_INFO_ASSOC_REQ_IES = 1<<17 | 520 | STATION_INFO_ASSOC_REQ_IES = 1<<17, |
521 | STATION_INFO_STA_FLAGS = 1<<18 | ||
520 | }; | 522 | }; |
521 | 523 | ||
522 | /** | 524 | /** |
@@ -633,6 +635,7 @@ struct station_info { | |||
633 | u32 tx_failed; | 635 | u32 tx_failed; |
634 | u32 rx_dropped_misc; | 636 | u32 rx_dropped_misc; |
635 | struct sta_bss_parameters bss_param; | 637 | struct sta_bss_parameters bss_param; |
638 | struct nl80211_sta_flag_update sta_flags; | ||
636 | 639 | ||
637 | int generation; | 640 | int generation; |
638 | 641 | ||
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index edf655aeea00..48260c2d092a 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c | |||
@@ -2344,6 +2344,10 @@ static int nl80211_send_station(struct sk_buff *msg, u32 pid, u32 seq, | |||
2344 | 2344 | ||
2345 | nla_nest_end(msg, bss_param); | 2345 | nla_nest_end(msg, bss_param); |
2346 | } | 2346 | } |
2347 | if (sinfo->filled & STATION_INFO_STA_FLAGS) | ||
2348 | NLA_PUT(msg, NL80211_STA_INFO_STA_FLAGS, | ||
2349 | sizeof(struct nl80211_sta_flag_update), | ||
2350 | &sinfo->sta_flags); | ||
2347 | nla_nest_end(msg, sinfoattr); | 2351 | nla_nest_end(msg, sinfoattr); |
2348 | 2352 | ||
2349 | if (sinfo->filled & STATION_INFO_ASSOC_REQ_IES) | 2353 | if (sinfo->filled & STATION_INFO_ASSOC_REQ_IES) |