mac80211: fill some important capabilities into ht_capab in the hostapd config
[openwrt-10.03/.git] / package / mac80211 / patches / 200-mac80211_fix_incorrect_seq_num_hostapd.patch
1 From 9b1ce526eb917c8b5c8497c327768130ee683392 Mon Sep 17 00:00:00 2001
2 From: =?utf8?q?Bj=C3=B6rn=20Smedman?= <bjorn.smedman@venatech.se>
3 Date: Sat, 24 Oct 2009 20:55:09 +0200
4 Subject: [PATCH] mac80211: fix for incorrect sequence number on hostapd injected frames
5 MIME-Version: 1.0
6 Content-Type: text/plain; charset=utf8
7 Content-Transfer-Encoding: 8bit
8
9 When hostapd injects a frame, e.g. an authentication or association
10 response, mac80211 looks for a suitable access point virtual interface
11 to associate the frame with based on its source address. This makes it
12 possible e.g. to correctly assign sequence numbers to the frames.
13
14 A small typo in the ethernet address comparison statement caused a
15 failure to find a suitable ap interface. Sequence numbers on such
16 frames where therefore left unassigned causing some clients
17 (especially windows-based 11b/g clients) to reject them and fail to
18 authenticate or associate with the access point. This patch fixes the
19 typo in the address comparison statement.
20
21 Signed-off-by: Björn Smedman <bjorn.smedman@venatech.se>
22 Reviewed-by: Johannes Berg <johannes@sipsolutions.net>
23 Cc: stable@kernel.org
24 Signed-off-by: John W. Linville <linville@tuxdriver.com>
25 ---
26  net/mac80211/tx.c |    2 +-
27  1 files changed, 1 insertions(+), 1 deletions(-)
28
29 diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
30 index db4bda6..eaa4118 100644
31 --- a/net/mac80211/tx.c
32 +++ b/net/mac80211/tx.c
33 @@ -1445,7 +1445,7 @@ static void ieee80211_xmit(struct ieee80211_sub_if_data *sdata,
34                                 if (tmp_sdata->vif.type != NL80211_IFTYPE_AP)
35                                         continue;
36                                 if (compare_ether_addr(tmp_sdata->dev->dev_addr,
37 -                                                      hdr->addr2)) {
38 +                                                      hdr->addr2) == 0) {
39                                         dev_hold(tmp_sdata->dev);
40                                         dev_put(sdata->dev);
41                                         sdata = tmp_sdata;
42 -- 
43 1.6.5.1
44