Merge branches 'x86/urgent', 'x86/amd-iommu', 'x86/apic', 'x86/cleanups', 'x86/core...
[sfrench/cifs-2.6.git] / drivers / net / wireless / zd1211rw / zd_mac.h
index 2dde108df76743cafaaa477bf38c2199e263e0ab..18c1d56d3dd7faf7d9c8285ce0a1e1ee7da5e4af 100644 (file)
@@ -149,22 +149,6 @@ struct housekeeping {
        struct delayed_work link_led_work;
 };
 
-/**
- * struct zd_tx_skb_control_block - control block for tx skbuffs
- * @control: &struct ieee80211_tx_control pointer
- * @context: context pointer
- *
- * This structure is used to fill the cb field in an &sk_buff to transmit.
- * The control field is NULL, if there is no requirement from the mac80211
- * stack to report about the packet ACK. This is the case if the flag
- * IEEE80211_TXCTL_NO_ACK is not set in &struct ieee80211_tx_control.
- */
-struct zd_tx_skb_control_block {
-       struct ieee80211_tx_control *control;
-       struct ieee80211_hw *hw;
-       void *context;
-};
-
 #define ZD_MAC_STATS_BUFFER_SIZE 16
 
 #define ZD_MAC_MAX_ACK_WAITERS 10
@@ -172,12 +156,15 @@ struct zd_tx_skb_control_block {
 struct zd_mac {
        struct zd_chip chip;
        spinlock_t lock;
+       spinlock_t intr_lock;
        struct ieee80211_hw *hw;
        struct housekeeping housekeeping;
        struct work_struct set_multicast_hash_work;
        struct work_struct set_rts_cts_work;
        struct work_struct set_rx_filter_work;
+       struct work_struct process_intr;
        struct zd_mc_hash multicast_hash;
+       u8 intr_buffer[USB_MAX_EP_INT_BUFFER];
        u8 regdomain;
        u8 default_regdomain;
        int type;
@@ -185,7 +172,7 @@ struct zd_mac {
        struct sk_buff_head ack_wait_queue;
        struct ieee80211_channel channels[14];
        struct ieee80211_rate rates[12];
-       struct ieee80211_hw_mode modes[2];
+       struct ieee80211_supported_band band;
 
        /* Short preamble (used for RTS/CTS) */
        unsigned int short_preamble:1;