diff options
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00lib.h')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00lib.h | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00lib.h b/drivers/net/wireless/rt2x00/rt2x00lib.h index af3c47bd43bd..aa284e48d2c2 100644 --- a/drivers/net/wireless/rt2x00/rt2x00lib.h +++ b/drivers/net/wireless/rt2x00/rt2x00lib.h | |||
@@ -113,6 +113,23 @@ void rt2x00queue_unmap_skb(struct rt2x00_dev *rt2x00dev, struct sk_buff *skb); | |||
113 | void rt2x00queue_free_skb(struct rt2x00_dev *rt2x00dev, struct sk_buff *skb); | 113 | void rt2x00queue_free_skb(struct rt2x00_dev *rt2x00dev, struct sk_buff *skb); |
114 | 114 | ||
115 | /** | 115 | /** |
116 | * rt2x00queue_payload_align - Align 802.11 payload to 4-byte boundary | ||
117 | * @skb: The skb to align | ||
118 | * @l2pad: Should L2 padding be used | ||
119 | * @header_length: Length of 802.11 header | ||
120 | * | ||
121 | * This function prepares the @skb to be send to the device or mac80211. | ||
122 | * If @l2pad is set to true padding will occur between the 802.11 header | ||
123 | * and payload. Otherwise the padding will be done in front of the 802.11 | ||
124 | * header. | ||
125 | * When @l2pad is set the function will check for the &SKBDESC_L2_PADDED | ||
126 | * flag in &skb_frame_desc. If that flag is set, the padding is removed | ||
127 | * and the flag cleared. Otherwise the padding is added and the flag is set. | ||
128 | */ | ||
129 | void rt2x00queue_payload_align(struct sk_buff *skb, | ||
130 | bool l2pad, unsigned int header_length); | ||
131 | |||
132 | /** | ||
116 | * rt2x00queue_write_tx_frame - Write TX frame to hardware | 133 | * rt2x00queue_write_tx_frame - Write TX frame to hardware |
117 | * @queue: Queue over which the frame should be send | 134 | * @queue: Queue over which the frame should be send |
118 | * @skb: The skb to send | 135 | * @skb: The skb to send |
@@ -299,8 +316,8 @@ void rt2x00crypto_tx_copy_iv(struct sk_buff *skb, | |||
299 | struct txentry_desc *txdesc); | 316 | struct txentry_desc *txdesc); |
300 | void rt2x00crypto_tx_remove_iv(struct sk_buff *skb, | 317 | void rt2x00crypto_tx_remove_iv(struct sk_buff *skb, |
301 | struct txentry_desc *txdesc); | 318 | struct txentry_desc *txdesc); |
302 | void rt2x00crypto_tx_insert_iv(struct sk_buff *skb); | 319 | void rt2x00crypto_tx_insert_iv(struct sk_buff *skb, unsigned int header_length); |
303 | void rt2x00crypto_rx_insert_iv(struct sk_buff *skb, unsigned int align, | 320 | void rt2x00crypto_rx_insert_iv(struct sk_buff *skb, bool l2pad, |
304 | unsigned int header_length, | 321 | unsigned int header_length, |
305 | struct rxdone_entry_desc *rxdesc); | 322 | struct rxdone_entry_desc *rxdesc); |
306 | #else | 323 | #else |
@@ -330,12 +347,12 @@ static inline void rt2x00crypto_tx_remove_iv(struct sk_buff *skb, | |||
330 | { | 347 | { |
331 | } | 348 | } |
332 | 349 | ||
333 | static inline void rt2x00crypto_tx_insert_iv(struct sk_buff *skb) | 350 | static inline void rt2x00crypto_tx_insert_iv(struct sk_buff *skb, |
351 | unsigned int header_length) | ||
334 | { | 352 | { |
335 | } | 353 | } |
336 | 354 | ||
337 | static inline void rt2x00crypto_rx_insert_iv(struct sk_buff *skb, | 355 | static inline void rt2x00crypto_rx_insert_iv(struct sk_buff *skb, bool l2pad, |
338 | unsigned int align, | ||
339 | unsigned int header_length, | 356 | unsigned int header_length, |
340 | struct rxdone_entry_desc *rxdesc) | 357 | struct rxdone_entry_desc *rxdesc) |
341 | { | 358 | { |