diff options
Diffstat (limited to 'drivers/net/wireless/zd1211rw/zd_mac.h')
-rw-r--r-- | drivers/net/wireless/zd1211rw/zd_mac.h | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/drivers/net/wireless/zd1211rw/zd_mac.h b/drivers/net/wireless/zd1211rw/zd_mac.h index 7c2759118d13..630c298a730e 100644 --- a/drivers/net/wireless/zd1211rw/zd_mac.h +++ b/drivers/net/wireless/zd1211rw/zd_mac.h | |||
@@ -140,6 +140,21 @@ struct rx_status { | |||
140 | #define ZD_RX_CRC16_ERROR 0x40 | 140 | #define ZD_RX_CRC16_ERROR 0x40 |
141 | #define ZD_RX_ERROR 0x80 | 141 | #define ZD_RX_ERROR 0x80 |
142 | 142 | ||
143 | struct tx_retry_rate { | ||
144 | int count; /* number of valid element in rate[] array */ | ||
145 | int rate[10]; /* retry rates, described by an index in zd_rates[] */ | ||
146 | }; | ||
147 | |||
148 | struct tx_status { | ||
149 | u8 type; /* must always be 0x01 : USB_INT_TYPE */ | ||
150 | u8 id; /* must always be 0xa0 : USB_INT_ID_RETRY_FAILED */ | ||
151 | u8 rate; | ||
152 | u8 pad; | ||
153 | u8 mac[ETH_ALEN]; | ||
154 | u8 retry; | ||
155 | u8 failure; | ||
156 | } __attribute__((packed)); | ||
157 | |||
143 | enum mac_flags { | 158 | enum mac_flags { |
144 | MAC_FIXED_CHANNEL = 0x01, | 159 | MAC_FIXED_CHANNEL = 0x01, |
145 | }; | 160 | }; |
@@ -150,7 +165,7 @@ struct housekeeping { | |||
150 | 165 | ||
151 | #define ZD_MAC_STATS_BUFFER_SIZE 16 | 166 | #define ZD_MAC_STATS_BUFFER_SIZE 16 |
152 | 167 | ||
153 | #define ZD_MAC_MAX_ACK_WAITERS 10 | 168 | #define ZD_MAC_MAX_ACK_WAITERS 50 |
154 | 169 | ||
155 | struct zd_mac { | 170 | struct zd_mac { |
156 | struct zd_chip chip; | 171 | struct zd_chip chip; |
@@ -184,6 +199,12 @@ struct zd_mac { | |||
184 | 199 | ||
185 | /* whether to pass control frames to stack */ | 200 | /* whether to pass control frames to stack */ |
186 | unsigned int pass_ctrl:1; | 201 | unsigned int pass_ctrl:1; |
202 | |||
203 | /* whether we have received a 802.11 ACK that is pending */ | ||
204 | unsigned int ack_pending:1; | ||
205 | |||
206 | /* signal strength of the last 802.11 ACK received */ | ||
207 | int ack_signal; | ||
187 | }; | 208 | }; |
188 | 209 | ||
189 | #define ZD_REGDOMAIN_FCC 0x10 | 210 | #define ZD_REGDOMAIN_FCC 0x10 |
@@ -279,7 +300,7 @@ int zd_mac_preinit_hw(struct ieee80211_hw *hw); | |||
279 | int zd_mac_init_hw(struct ieee80211_hw *hw); | 300 | int zd_mac_init_hw(struct ieee80211_hw *hw); |
280 | 301 | ||
281 | int zd_mac_rx(struct ieee80211_hw *hw, const u8 *buffer, unsigned int length); | 302 | int zd_mac_rx(struct ieee80211_hw *hw, const u8 *buffer, unsigned int length); |
282 | void zd_mac_tx_failed(struct ieee80211_hw *hw); | 303 | void zd_mac_tx_failed(struct urb *urb); |
283 | void zd_mac_tx_to_dev(struct sk_buff *skb, int error); | 304 | void zd_mac_tx_to_dev(struct sk_buff *skb, int error); |
284 | 305 | ||
285 | #ifdef DEBUG | 306 | #ifdef DEBUG |