aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ar9170/ar9170.h
diff options
context:
space:
mode:
authorChristian Lamparter <chunkeey@web.de>2009-04-19 01:28:12 +0200
committerJohn W. Linville <linville@tuxdriver.com>2009-04-22 16:57:18 -0400
commitcca84799dfe9f5201ae9c69eb8ed15fd26b72b37 (patch)
tree804e93427cf30be39eb650f22b90c367bcec9ab7 /drivers/net/wireless/ath/ar9170/ar9170.h
parentmac80211: validate TIM IE length (redux) (diff)
downloadlinux-dev-cca84799dfe9f5201ae9c69eb8ed15fd26b72b37.tar.xz
linux-dev-cca84799dfe9f5201ae9c69eb8ed15fd26b72b37.zip
ar9170: rework rxstream code
With this patch ar9170 is capable of receiving aggregated 802.11n frames and sniffing on most networks without having a "debug message overhead". (Includes phy initialization requested by Johannes Berg <johannes@sipsolutions.net> -- JWL) Signed-off-by: Christian Lamparter <chunkeey@web.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ar9170/ar9170.h')
-rw-r--r--drivers/net/wireless/ath/ar9170/ar9170.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ar9170/ar9170.h b/drivers/net/wireless/ath/ar9170/ar9170.h
index b6a1bff67cab..17bd3eaf3e03 100644
--- a/drivers/net/wireless/ath/ar9170/ar9170.h
+++ b/drivers/net/wireless/ath/ar9170/ar9170.h
@@ -104,10 +104,16 @@ enum ar9170_device_state {
AR9170_ASSOCIATED,
};
+struct ar9170_rxstream_mpdu_merge {
+ struct ar9170_rx_head plcp;
+ bool has_plcp;
+};
+
struct ar9170 {
struct ieee80211_hw *hw;
struct mutex mutex;
enum ar9170_device_state state;
+ unsigned long bad_hw_nagger;
int (*open)(struct ar9170 *);
void (*stop)(struct ar9170 *);
@@ -135,6 +141,7 @@ struct ar9170 {
u64 cur_mc_hash, want_mc_hash;
u32 cur_filter, want_filter;
unsigned int filter_changed;
+ unsigned int filter_state;
bool sniffer_enabled;
/* PHY */
@@ -174,6 +181,11 @@ struct ar9170 {
struct sk_buff_head global_tx_status;
struct sk_buff_head global_tx_status_waste;
struct delayed_work tx_status_janitor;
+
+ /* rxstream mpdu merge */
+ struct ar9170_rxstream_mpdu_merge rx_mpdu;
+ struct sk_buff *rx_failover;
+ int rx_failover_missing;
};
struct ar9170_sta_info {