From: Johannes Berg <johannes@sipsolutions.net>
To: John Linville <linville@tuxdriver.com>
Cc: linux-wireless@vger.kernel.org
Subject: [PATCH 7/8] mac80211: call rate control only after init
Date: Thu, 05 Jan 2012 16:30:50 +0100 [thread overview]
Message-ID: <20120105153229.158186702@sipsolutions.net> (raw)
In-Reply-To: 20120105153043.568616380@sipsolutions.net
From: Johannes Berg <johannes.berg@intel.com>
There are situations where we don't have the
necessary rate control information yet for
station entries, e.g. when associating. This
currently doesn't really happen due to the
dummy station handling; explicitly disabling
rate control when it's not initialised will
allow us to remove dummy stations.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
---
net/mac80211/debugfs_sta.c | 4 ++--
net/mac80211/rate.c | 2 +-
net/mac80211/rate.h | 1 +
net/mac80211/sta_info.h | 2 ++
4 files changed, 6 insertions(+), 3 deletions(-)
--- a/net/mac80211/debugfs_sta.c 2012-01-05 09:16:57.000000000 +0100
+++ b/net/mac80211/debugfs_sta.c 2012-01-05 11:21:10.000000000 +0100
@@ -63,7 +63,7 @@ static ssize_t sta_flags_read(struct fil
test_sta_flag(sta, WLAN_STA_##flg) ? #flg "\n" : ""
int res = scnprintf(buf, sizeof(buf),
- "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
+ "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
TEST(AUTH), TEST(ASSOC), TEST(PS_STA),
TEST(PS_DRIVER), TEST(AUTHORIZED),
TEST(SHORT_PREAMBLE),
@@ -71,7 +71,7 @@ static ssize_t sta_flags_read(struct fil
TEST(MFP), TEST(BLOCK_BA), TEST(PSPOLL),
TEST(UAPSD), TEST(SP), TEST(TDLS_PEER),
TEST(TDLS_PEER_AUTH), TEST(4ADDR_EVENT),
- TEST(INSERTED));
+ TEST(INSERTED), TEST(RATE_CONTROL));
#undef TEST
return simple_read_from_buffer(userbuf, count, ppos, buf, res);
}
--- a/net/mac80211/rate.c 2011-12-10 17:32:28.000000000 +0100
+++ b/net/mac80211/rate.c 2012-01-05 11:22:11.000000000 +0100
@@ -336,7 +336,7 @@ void rate_control_get_rate(struct ieee80
int i;
u32 mask;
- if (sta) {
+ if (sta && test_sta_flag(sta, WLAN_STA_RATE_CONTROL)) {
ista = &sta->sta;
priv_sta = sta->rate_ctrl_priv;
}
--- a/net/mac80211/rate.h 2011-11-03 13:48:28.000000000 +0100
+++ b/net/mac80211/rate.h 2012-01-05 11:22:05.000000000 +0100
@@ -62,6 +62,7 @@ static inline void rate_control_rate_ini
sband = local->hw.wiphy->bands[local->hw.conf.channel->band];
ref->ops->rate_init(ref->priv, sband, ista, priv_sta);
+ set_sta_flag(sta, WLAN_STA_RATE_CONTROL);
}
static inline void rate_control_rate_update(struct ieee80211_local *local,
--- a/net/mac80211/sta_info.h 2012-01-05 11:20:04.000000000 +0100
+++ b/net/mac80211/sta_info.h 2012-01-05 11:20:53.000000000 +0100
@@ -53,6 +53,7 @@
* reply to other uAPSD trigger frames or PS-Poll.
* @WLAN_STA_4ADDR_EVENT: 4-addr event was already sent for this frame.
* @WLAN_STA_INSERTED: This station is inserted into the hash table.
+ * @WLAN_STA_RATE_CONTROL: rate control was initialized for this station.
*/
enum ieee80211_sta_info_flags {
WLAN_STA_AUTH,
@@ -73,6 +74,7 @@ enum ieee80211_sta_info_flags {
WLAN_STA_SP,
WLAN_STA_4ADDR_EVENT,
WLAN_STA_INSERTED,
+ WLAN_STA_RATE_CONTROL,
};
#define STA_TID_NUM 16
next prev parent reply other threads:[~2012-01-05 15:33 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-05 15:30 [PATCH 0/8] more station handling refactoring Johannes Berg
2012-01-05 15:30 ` [PATCH 1/8] mac80211: move managed mode station state modification Johannes Berg
2012-01-05 15:30 ` [PATCH 2/8] mac80211: simplify AP_VLAN handling Johannes Berg
2012-01-05 15:30 ` [PATCH 3/8] mac80211: dont program keys for stations not uploaded Johannes Berg
2012-01-05 15:30 ` [PATCH 4/8] mac80211: add NOTEXIST station state Johannes Berg
2012-01-05 15:30 ` [PATCH 5/8] mac80211: add sta_state callback Johannes Berg
2012-01-05 15:30 ` [PATCH 6/8] mac80211: implement sta_add/sta_remove in sta_state Johannes Berg
2012-01-05 15:30 ` Johannes Berg [this message]
2012-01-05 15:30 ` [PATCH 8/8] mac80211: remove dummy STA support Johannes Berg
2012-01-12 8:25 ` [PATCH 0/8] more station handling refactoring Johannes Berg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120105153229.158186702@sipsolutions.net \
--to=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).