aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorSujith <Sujith.Manoharan@atheros.com>2008-10-24 00:25:27 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-10-31 19:02:14 -0400
commit8b30b1fe368ab03049435884c11c5c50e4c4ef0b (patch)
tree02b27b36cf90267d59584b493ad652e3a4cc6a7e /include
parent4393dce9402c58744433c7a4f3931e17ddde4fb4 (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.h4
-rw-r--r--include/net/mac80211.h8
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 */
247enum mac80211_tx_control_flags { 246enum 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
266enum mac80211_rate_control_flags { 262enum 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 */
851enum ieee80211_hw_flags { 850enum 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/**