diff options
author | Björn Smedman <bjorn.smedman@venatech.se> | 2009-10-24 20:55:09 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-11-09 16:22:30 -0800 |
commit | db6ad3e1187477afb4a1fc79bc48f0a8cf916ec3 (patch) | |
tree | fed167be5bf399c827d2e11c8f09093f13414b3d /net/mac80211 | |
parent | 49178370a647948ca8b529cc65f0c214bec33d42 (diff) | |
download | linux-stable-db6ad3e1187477afb4a1fc79bc48f0a8cf916ec3.tar.gz linux-stable-db6ad3e1187477afb4a1fc79bc48f0a8cf916ec3.tar.bz2 linux-stable-db6ad3e1187477afb4a1fc79bc48f0a8cf916ec3.zip |
mac80211: fix for incorrect sequence number on hostapd injected frames
commit 9b1ce526eb917c8b5c8497c327768130ee683392 upstream.
When hostapd injects a frame, e.g. an authentication or association
response, mac80211 looks for a suitable access point virtual interface
to associate the frame with based on its source address. This makes it
possible e.g. to correctly assign sequence numbers to the frames.
A small typo in the ethernet address comparison statement caused a
failure to find a suitable ap interface. Sequence numbers on such
frames where therefore left unassigned causing some clients
(especially windows-based 11b/g clients) to reject them and fail to
authenticate or associate with the access point. This patch fixes the
typo in the address comparison statement.
Signed-off-by: Björn Smedman <bjorn.smedman@venatech.se>
Reviewed-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'net/mac80211')
-rw-r--r-- | net/mac80211/tx.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index 98576d4fa7d2..e5d720e15137 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -1478,7 +1478,7 @@ int ieee80211_master_start_xmit(struct sk_buff *skb, struct net_device *dev) if (sdata->vif.type != NL80211_IFTYPE_AP) continue; if (compare_ether_addr(sdata->dev->dev_addr, - hdr->addr2)) { + hdr->addr2) == 0) { dev_hold(sdata->dev); dev_put(odev); osdata = sdata; |