diff options
author | Johannes Berg <johannes.berg@intel.com> | 2011-12-15 05:17:37 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-12-15 14:46:34 -0500 |
commit | 8bf11d8d081106c3cce8281a0150e716f8ac5d22 (patch) | |
tree | 2b026b9638f7acad90d4712f1675d80f3247a0d1 /net/mac80211/rx.c | |
parent | 56544160d44c3043c0a7faffa506f616c1bb45f0 (diff) |
mac80211: delay IBSS station insertion
In order to notify drivers and simplify the station
management code, defer IBSS station insertion to a
work item and don't do it directly while receiving
a frame.
This increases the complexity in IBSS a little bit,
but it's pretty straight forward and it allows us
to reduce the station management complexity (next
patch) considerably.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/rx.c')
-rw-r--r-- | net/mac80211/rx.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index 7d226417ef46..2be5b7d69ad7 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c | |||
@@ -2775,8 +2775,8 @@ static int prepare_for_handlers(struct ieee80211_rx_data *rx, | |||
2775 | rate_idx = 0; /* TODO: HT rates */ | 2775 | rate_idx = 0; /* TODO: HT rates */ |
2776 | else | 2776 | else |
2777 | rate_idx = status->rate_idx; | 2777 | rate_idx = status->rate_idx; |
2778 | rx->sta = ieee80211_ibss_add_sta(sdata, bssid, | 2778 | ieee80211_ibss_rx_no_sta(sdata, bssid, hdr->addr2, |
2779 | hdr->addr2, BIT(rate_idx), GFP_ATOMIC); | 2779 | BIT(rate_idx)); |
2780 | } | 2780 | } |
2781 | break; | 2781 | break; |
2782 | case NL80211_IFTYPE_MESH_POINT: | 2782 | case NL80211_IFTYPE_MESH_POINT: |