diff options
author | Ron Rindjunsky <ron.rindjunsky@intel.com> | 2007-12-25 17:00:36 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 15:01:01 -0800 |
commit | 713647169e3aaca16be4cfba42513bd4558abec0 (patch) | |
tree | 460c9454def4c5bd99104760637ae52a8137b38c /net/mac80211/util.c | |
parent | b580781e038968fb2529460e8b61e3bf77de112a (diff) | |
download | kernel-crypto-713647169e3aaca16be4cfba42513bd4558abec0.tar.gz kernel-crypto-713647169e3aaca16be4cfba42513bd4558abec0.tar.xz kernel-crypto-713647169e3aaca16be4cfba42513bd4558abec0.zip |
mac80211: A-MPDU Rx adding BAR handling capability
This patch adds the ability to handle Block Ack Request
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mac80211/util.c')
-rw-r--r-- | net/mac80211/util.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c index 2b02b2b9d64..adb85dd5098 100644 --- a/net/mac80211/util.c +++ b/net/mac80211/util.c @@ -127,7 +127,8 @@ void ieee80211_prepare_rates(struct ieee80211_local *local, } } -u8 *ieee80211_get_bssid(struct ieee80211_hdr *hdr, size_t len) +u8 *ieee80211_get_bssid(struct ieee80211_hdr *hdr, size_t len, + enum ieee80211_if_types type) { u16 fc; @@ -159,6 +160,18 @@ u8 *ieee80211_get_bssid(struct ieee80211_hdr *hdr, size_t len) case IEEE80211_FTYPE_CTL: if ((fc & IEEE80211_FCTL_STYPE) == IEEE80211_STYPE_PSPOLL) return hdr->addr1; + else if ((fc & IEEE80211_FCTL_STYPE) == + IEEE80211_STYPE_BACK_REQ) { + switch (type) { + case IEEE80211_IF_TYPE_STA: + return hdr->addr2; + case IEEE80211_IF_TYPE_AP: + case IEEE80211_IF_TYPE_VLAN: + return hdr->addr1; + default: + return NULL; + } + } else return NULL; } |