diff options
author | John W. Linville <linville@tuxdriver.com> | 2011-10-17 15:05:26 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-10-17 15:05:26 -0400 |
commit | 41ebe9cde738a972d05c7282e09f5ed54cff0e8d (patch) | |
tree | 223bf0feb7305e46989b60c3f070bef87d5fcab4 /net/mac80211/cfg.c | |
parent | fd38f734cb8200529e281338514945fcbff2364b (diff) | |
parent | 5c1381ac3f3f49ab1e0886ea8f1432c9a5def519 (diff) |
Merge branch 'master' of git://git.infradead.org/users/linville/wireless-next into for-davem
Diffstat (limited to 'net/mac80211/cfg.c')
-rw-r--r-- | net/mac80211/cfg.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index 55ee5a31756f..ebd7fb101fbf 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c | |||
@@ -344,7 +344,8 @@ static void sta_set_sinfo(struct sta_info *sta, struct station_info *sinfo) | |||
344 | STATION_INFO_RX_BITRATE | | 344 | STATION_INFO_RX_BITRATE | |
345 | STATION_INFO_RX_DROP_MISC | | 345 | STATION_INFO_RX_DROP_MISC | |
346 | STATION_INFO_BSS_PARAM | | 346 | STATION_INFO_BSS_PARAM | |
347 | STATION_INFO_CONNECTED_TIME; | 347 | STATION_INFO_CONNECTED_TIME | |
348 | STATION_INFO_STA_FLAGS; | ||
348 | 349 | ||
349 | do_posix_clock_monotonic_gettime(&uptime); | 350 | do_posix_clock_monotonic_gettime(&uptime); |
350 | sinfo->connected_time = uptime.tv_sec - sta->last_connected; | 351 | sinfo->connected_time = uptime.tv_sec - sta->last_connected; |
@@ -404,6 +405,23 @@ static void sta_set_sinfo(struct sta_info *sta, struct station_info *sinfo) | |||
404 | sinfo->bss_param.flags |= BSS_PARAM_FLAGS_SHORT_SLOT_TIME; | 405 | sinfo->bss_param.flags |= BSS_PARAM_FLAGS_SHORT_SLOT_TIME; |
405 | sinfo->bss_param.dtim_period = sdata->local->hw.conf.ps_dtim_period; | 406 | sinfo->bss_param.dtim_period = sdata->local->hw.conf.ps_dtim_period; |
406 | sinfo->bss_param.beacon_interval = sdata->vif.bss_conf.beacon_int; | 407 | sinfo->bss_param.beacon_interval = sdata->vif.bss_conf.beacon_int; |
408 | |||
409 | sinfo->sta_flags.set = 0; | ||
410 | sinfo->sta_flags.mask = BIT(NL80211_STA_FLAG_AUTHORIZED) | | ||
411 | BIT(NL80211_STA_FLAG_SHORT_PREAMBLE) | | ||
412 | BIT(NL80211_STA_FLAG_WME) | | ||
413 | BIT(NL80211_STA_FLAG_MFP) | | ||
414 | BIT(NL80211_STA_FLAG_AUTHENTICATED); | ||
415 | if (test_sta_flag(sta, WLAN_STA_AUTHORIZED)) | ||
416 | sinfo->sta_flags.set |= BIT(NL80211_STA_FLAG_AUTHORIZED); | ||
417 | if (test_sta_flag(sta, WLAN_STA_SHORT_PREAMBLE)) | ||
418 | sinfo->sta_flags.set |= BIT(NL80211_STA_FLAG_SHORT_PREAMBLE); | ||
419 | if (test_sta_flag(sta, WLAN_STA_WME)) | ||
420 | sinfo->sta_flags.set |= BIT(NL80211_STA_FLAG_WME); | ||
421 | if (test_sta_flag(sta, WLAN_STA_MFP)) | ||
422 | sinfo->sta_flags.set |= BIT(NL80211_STA_FLAG_MFP); | ||
423 | if (test_sta_flag(sta, WLAN_STA_AUTH)) | ||
424 | sinfo->sta_flags.set |= BIT(NL80211_STA_FLAG_AUTHENTICATED); | ||
407 | } | 425 | } |
408 | 426 | ||
409 | 427 | ||
@@ -1886,7 +1904,7 @@ ieee80211_offchan_tx_done(struct ieee80211_work *wk, struct sk_buff *skb) | |||
1886 | * so in that case userspace will have to deal with it. | 1904 | * so in that case userspace will have to deal with it. |
1887 | */ | 1905 | */ |
1888 | 1906 | ||
1889 | if (wk->offchan_tx.wait && wk->offchan_tx.frame) | 1907 | if (wk->offchan_tx.wait && !wk->offchan_tx.status) |
1890 | cfg80211_mgmt_tx_status(wk->sdata->dev, | 1908 | cfg80211_mgmt_tx_status(wk->sdata->dev, |
1891 | (unsigned long) wk->offchan_tx.frame, | 1909 | (unsigned long) wk->offchan_tx.frame, |
1892 | wk->ie, wk->ie_len, false, GFP_KERNEL); | 1910 | wk->ie, wk->ie_len, false, GFP_KERNEL); |