aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt2x00usb.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2008-05-15 06:55:29 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-05-21 21:48:11 -0400
commite039fa4a4195ac4ee895e6f3d1334beed63256fe (patch)
treecfd0762d73df96b73052378be7b157c4ac6e7035 /drivers/net/wireless/rt2x00/rt2x00usb.h
parente24549485f859be6518929bb1c9c0257d79f033d (diff)
mac80211: move TX info into skb->cb
This patch converts mac80211 and all drivers to have transmit information and status in skb->cb rather than allocating extra memory for it and copying all the data around. To make it fit, a union is used where only data that is necessary for all steps is kept outside of the union. A number of fixes were done by Ivo, as well as the rt2x00 part of this patch. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00usb.h')
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00usb.h9
1 files changed, 1 insertions, 8 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00usb.h b/drivers/net/wireless/rt2x00/rt2x00usb.h
index 15b404aa714d..26f53f868af6 100644
--- a/drivers/net/wireless/rt2x00/rt2x00usb.h
+++ b/drivers/net/wireless/rt2x00/rt2x00usb.h
@@ -216,19 +216,15 @@ void rt2x00usb_disable_radio(struct rt2x00_dev *rt2x00dev);
216 * TX data handlers. 216 * TX data handlers.
217 */ 217 */
218int rt2x00usb_write_tx_data(struct rt2x00_dev *rt2x00dev, 218int rt2x00usb_write_tx_data(struct rt2x00_dev *rt2x00dev,
219 struct data_queue *queue, struct sk_buff *skb, 219 struct data_queue *queue, struct sk_buff *skb);
220 struct ieee80211_tx_control *control);
221 220
222/** 221/**
223 * struct queue_entry_priv_usb: Per entry USB specific information 222 * struct queue_entry_priv_usb: Per entry USB specific information
224 * 223 *
225 * @urb: Urb structure used for device communication. 224 * @urb: Urb structure used for device communication.
226 * @control: mac80211 control structure used to transmit data.
227 */ 225 */
228struct queue_entry_priv_usb { 226struct queue_entry_priv_usb {
229 struct urb *urb; 227 struct urb *urb;
230
231 struct ieee80211_tx_control control;
232}; 228};
233 229
234/** 230/**
@@ -239,15 +235,12 @@ struct queue_entry_priv_usb {
239 * with beacons. 235 * with beacons.
240 * 236 *
241 * @urb: Urb structure used for device communication. 237 * @urb: Urb structure used for device communication.
242 * @control: mac80211 control structure used to transmit data.
243 * @guardian_data: Set to 0, used for sending the guardian data. 238 * @guardian_data: Set to 0, used for sending the guardian data.
244 * @guardian_urb: Urb structure used to send the guardian data. 239 * @guardian_urb: Urb structure used to send the guardian data.
245 */ 240 */
246struct queue_entry_priv_usb_bcn { 241struct queue_entry_priv_usb_bcn {
247 struct urb *urb; 242 struct urb *urb;
248 243
249 struct ieee80211_tx_control control;
250
251 unsigned int guardian_data; 244 unsigned int guardian_data;
252 struct urb *guardian_urb; 245 struct urb *guardian_urb;
253}; 246};