diff options
author | Sujith <Sujith.Manoharan@atheros.com> | 2008-10-24 00:25:27 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-10-31 19:02:14 -0400 |
commit | 8b30b1fe368ab03049435884c11c5c50e4c4ef0b (patch) | |
tree | 02b27b36cf90267d59584b493ad652e3a4cc6a7e /include | |
parent | 4393dce9402c58744433c7a4f3931e17ddde4fb4 (diff) |
mac80211: Re-enable aggregation
Wireless HW without any dedicated queues for aggregation
do not need the ampdu_queues mechanism present right now
in mac80211. Since mac80211 is still incomplete wrt TX MQ
changes, do not allow aggregation sessions for drivers that
set ampdu_queues.
This is only an interim hack until Intel fixes the requeue issue.
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: Luis Rodriguez <Luis.Rodriguez@Atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/skbuff.h | 4 | ||||
-rw-r--r-- | include/net/mac80211.h | 8 |
2 files changed, 8 insertions, 4 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 487e34507b41..a01b6f84e3bc 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
@@ -250,6 +250,9 @@ typedef unsigned char *sk_buff_data_t; | |||
250 | * @tc_verd: traffic control verdict | 250 | * @tc_verd: traffic control verdict |
251 | * @ndisc_nodetype: router type (from link layer) | 251 | * @ndisc_nodetype: router type (from link layer) |
252 | * @do_not_encrypt: set to prevent encryption of this frame | 252 | * @do_not_encrypt: set to prevent encryption of this frame |
253 | * @requeue: set to indicate that the wireless core should attempt | ||
254 | * a software retry on this frame if we failed to | ||
255 | * receive an ACK for it | ||
253 | * @dma_cookie: a cookie to one of several possible DMA operations | 256 | * @dma_cookie: a cookie to one of several possible DMA operations |
254 | * done by skb DMA functions | 257 | * done by skb DMA functions |
255 | * @secmark: security marking | 258 | * @secmark: security marking |
@@ -326,6 +329,7 @@ struct sk_buff { | |||
326 | #endif | 329 | #endif |
327 | #if defined(CONFIG_MAC80211) || defined(CONFIG_MAC80211_MODULE) | 330 | #if defined(CONFIG_MAC80211) || defined(CONFIG_MAC80211_MODULE) |
328 | __u8 do_not_encrypt:1; | 331 | __u8 do_not_encrypt:1; |
332 | __u8 requeue:1; | ||
329 | #endif | 333 | #endif |
330 | /* 0/13/14 bit hole */ | 334 | /* 0/13/14 bit hole */ |
331 | 335 | ||
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 16c895969e6e..bba96a203885 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -242,7 +242,6 @@ struct ieee80211_bss_conf { | |||
242 | * @IEEE80211_TX_CTL_RATE_CTRL_PROBE: internal to mac80211, can be | 242 | * @IEEE80211_TX_CTL_RATE_CTRL_PROBE: internal to mac80211, can be |
243 | * set by rate control algorithms to indicate probe rate, will | 243 | * set by rate control algorithms to indicate probe rate, will |
244 | * be cleared for fragmented frames (except on the last fragment) | 244 | * be cleared for fragmented frames (except on the last fragment) |
245 | * @IEEE80211_TX_CTL_REQUEUE: REMOVE THIS | ||
246 | */ | 245 | */ |
247 | enum mac80211_tx_control_flags { | 246 | enum mac80211_tx_control_flags { |
248 | IEEE80211_TX_CTL_REQ_TX_STATUS = BIT(0), | 247 | IEEE80211_TX_CTL_REQ_TX_STATUS = BIT(0), |
@@ -258,9 +257,6 @@ enum mac80211_tx_control_flags { | |||
258 | IEEE80211_TX_STAT_AMPDU = BIT(10), | 257 | IEEE80211_TX_STAT_AMPDU = BIT(10), |
259 | IEEE80211_TX_STAT_AMPDU_NO_BACK = BIT(11), | 258 | IEEE80211_TX_STAT_AMPDU_NO_BACK = BIT(11), |
260 | IEEE80211_TX_CTL_RATE_CTRL_PROBE = BIT(12), | 259 | IEEE80211_TX_CTL_RATE_CTRL_PROBE = BIT(12), |
261 | |||
262 | /* XXX: remove this */ | ||
263 | IEEE80211_TX_CTL_REQUEUE = BIT(13), | ||
264 | }; | 260 | }; |
265 | 261 | ||
266 | enum mac80211_rate_control_flags { | 262 | enum mac80211_rate_control_flags { |
@@ -847,6 +843,9 @@ enum ieee80211_tkip_key_type { | |||
847 | * @IEEE80211_HW_SPECTRUM_MGMT: | 843 | * @IEEE80211_HW_SPECTRUM_MGMT: |
848 | * Hardware supports spectrum management defined in 802.11h | 844 | * Hardware supports spectrum management defined in 802.11h |
849 | * Measurement, Channel Switch, Quieting, TPC | 845 | * Measurement, Channel Switch, Quieting, TPC |
846 | * | ||
847 | * @IEEE80211_HW_AMPDU_AGGREGATION: | ||
848 | * Hardware supports 11n A-MPDU aggregation. | ||
850 | */ | 849 | */ |
851 | enum ieee80211_hw_flags { | 850 | enum ieee80211_hw_flags { |
852 | IEEE80211_HW_RX_INCLUDES_FCS = 1<<1, | 851 | IEEE80211_HW_RX_INCLUDES_FCS = 1<<1, |
@@ -858,6 +857,7 @@ enum ieee80211_hw_flags { | |||
858 | IEEE80211_HW_SIGNAL_DBM = 1<<7, | 857 | IEEE80211_HW_SIGNAL_DBM = 1<<7, |
859 | IEEE80211_HW_NOISE_DBM = 1<<8, | 858 | IEEE80211_HW_NOISE_DBM = 1<<8, |
860 | IEEE80211_HW_SPECTRUM_MGMT = 1<<9, | 859 | IEEE80211_HW_SPECTRUM_MGMT = 1<<9, |
860 | IEEE80211_HW_AMPDU_AGGREGATION = 1<<10, | ||
861 | }; | 861 | }; |
862 | 862 | ||
863 | /** | 863 | /** |