diff options
Diffstat (limited to 'drivers/net/wireless/zd1211rw/zd_mac.h')
-rw-r--r-- | drivers/net/wireless/zd1211rw/zd_mac.h | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/drivers/net/wireless/zd1211rw/zd_mac.h b/drivers/net/wireless/zd1211rw/zd_mac.h index a6d86b996c79..f8c93c3fe755 100644 --- a/drivers/net/wireless/zd1211rw/zd_mac.h +++ b/drivers/net/wireless/zd1211rw/zd_mac.h | |||
@@ -163,6 +163,17 @@ struct housekeeping { | |||
163 | struct delayed_work link_led_work; | 163 | struct delayed_work link_led_work; |
164 | }; | 164 | }; |
165 | 165 | ||
166 | struct beacon { | ||
167 | struct delayed_work watchdog_work; | ||
168 | unsigned long last_update; | ||
169 | u16 interval; | ||
170 | u8 period; | ||
171 | }; | ||
172 | |||
173 | enum zd_device_flags { | ||
174 | ZD_DEVICE_RUNNING, | ||
175 | }; | ||
176 | |||
166 | #define ZD_MAC_STATS_BUFFER_SIZE 16 | 177 | #define ZD_MAC_STATS_BUFFER_SIZE 16 |
167 | 178 | ||
168 | #define ZD_MAC_MAX_ACK_WAITERS 50 | 179 | #define ZD_MAC_MAX_ACK_WAITERS 50 |
@@ -172,17 +183,19 @@ struct zd_mac { | |||
172 | spinlock_t lock; | 183 | spinlock_t lock; |
173 | spinlock_t intr_lock; | 184 | spinlock_t intr_lock; |
174 | struct ieee80211_hw *hw; | 185 | struct ieee80211_hw *hw; |
186 | struct ieee80211_vif *vif; | ||
175 | struct housekeeping housekeeping; | 187 | struct housekeeping housekeeping; |
176 | struct work_struct set_multicast_hash_work; | 188 | struct beacon beacon; |
177 | struct work_struct set_rts_cts_work; | 189 | struct work_struct set_rts_cts_work; |
178 | struct work_struct set_rx_filter_work; | ||
179 | struct work_struct process_intr; | 190 | struct work_struct process_intr; |
180 | struct zd_mc_hash multicast_hash; | 191 | struct zd_mc_hash multicast_hash; |
181 | u8 intr_buffer[USB_MAX_EP_INT_BUFFER]; | 192 | u8 intr_buffer[USB_MAX_EP_INT_BUFFER]; |
182 | u8 regdomain; | 193 | u8 regdomain; |
183 | u8 default_regdomain; | 194 | u8 default_regdomain; |
195 | u8 channel; | ||
184 | int type; | 196 | int type; |
185 | int associated; | 197 | int associated; |
198 | unsigned long flags; | ||
186 | struct sk_buff_head ack_wait_queue; | 199 | struct sk_buff_head ack_wait_queue; |
187 | struct ieee80211_channel channels[14]; | 200 | struct ieee80211_channel channels[14]; |
188 | struct ieee80211_rate rates[12]; | 201 | struct ieee80211_rate rates[12]; |
@@ -191,9 +204,6 @@ struct zd_mac { | |||
191 | /* Short preamble (used for RTS/CTS) */ | 204 | /* Short preamble (used for RTS/CTS) */ |
192 | unsigned int short_preamble:1; | 205 | unsigned int short_preamble:1; |
193 | 206 | ||
194 | /* flags to indicate update in progress */ | ||
195 | unsigned int updating_rts_rate:1; | ||
196 | |||
197 | /* whether to pass frames with CRC errors to stack */ | 207 | /* whether to pass frames with CRC errors to stack */ |
198 | unsigned int pass_failed_fcs:1; | 208 | unsigned int pass_failed_fcs:1; |
199 | 209 | ||
@@ -304,6 +314,10 @@ int zd_mac_rx(struct ieee80211_hw *hw, const u8 *buffer, unsigned int length); | |||
304 | void zd_mac_tx_failed(struct urb *urb); | 314 | void zd_mac_tx_failed(struct urb *urb); |
305 | void zd_mac_tx_to_dev(struct sk_buff *skb, int error); | 315 | void zd_mac_tx_to_dev(struct sk_buff *skb, int error); |
306 | 316 | ||
317 | int zd_op_start(struct ieee80211_hw *hw); | ||
318 | void zd_op_stop(struct ieee80211_hw *hw); | ||
319 | int zd_restore_settings(struct zd_mac *mac); | ||
320 | |||
307 | #ifdef DEBUG | 321 | #ifdef DEBUG |
308 | void zd_dump_rx_status(const struct rx_status *status); | 322 | void zd_dump_rx_status(const struct rx_status *status); |
309 | #else | 323 | #else |