diff options
| author | David S. Miller <davem@davemloft.net> | 2009-09-02 17:18:09 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2009-09-02 17:18:09 -0400 |
| commit | 3f968de276a8e585deb182d4ba56013a479c80bc (patch) | |
| tree | bff8932bb5e64c22708aad48a6edbef3a707a774 /drivers/net/wireless/rt2x00/rt2x00lib.h | |
| parent | 5ca1b998d33c39819fca2b675d80c4469e705f2d (diff) | |
| parent | d0bec34293bb0b8dddc26d25bd46a6631d6b3ec3 (diff) | |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00lib.h')
| -rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00lib.h | 45 |
1 files changed, 33 insertions, 12 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00lib.h b/drivers/net/wireless/rt2x00/rt2x00lib.h index eeb2881e818e..5462cb5ad994 100644 --- a/drivers/net/wireless/rt2x00/rt2x00lib.h +++ b/drivers/net/wireless/rt2x00/rt2x00lib.h | |||
| @@ -120,21 +120,42 @@ void rt2x00queue_unmap_skb(struct rt2x00_dev *rt2x00dev, struct sk_buff *skb); | |||
| 120 | void rt2x00queue_free_skb(struct rt2x00_dev *rt2x00dev, struct sk_buff *skb); | 120 | void rt2x00queue_free_skb(struct rt2x00_dev *rt2x00dev, struct sk_buff *skb); |
| 121 | 121 | ||
| 122 | /** | 122 | /** |
| 123 | * rt2x00queue_payload_align - Align 802.11 payload to 4-byte boundary | 123 | * rt2x00queue_align_frame - Align 802.11 frame to 4-byte boundary |
| 124 | * @skb: The skb to align | ||
| 125 | * | ||
| 126 | * Align the start of the 802.11 frame to a 4-byte boundary, this could | ||
| 127 | * mean the payload is not aligned properly though. | ||
| 128 | */ | ||
| 129 | void rt2x00queue_align_frame(struct sk_buff *skb); | ||
| 130 | |||
| 131 | /** | ||
| 132 | * rt2x00queue_align_payload - Align 802.11 payload to 4-byte boundary | ||
| 133 | * @skb: The skb to align | ||
| 134 | * @header_length: Length of 802.11 header | ||
| 135 | * | ||
| 136 | * Align the 802.11 payload to a 4-byte boundary, this could | ||
| 137 | * mean the header is not aligned properly though. | ||
| 138 | */ | ||
| 139 | void rt2x00queue_align_payload(struct sk_buff *skb, unsigned int header_length); | ||
| 140 | |||
| 141 | /** | ||
| 142 | * rt2x00queue_insert_l2pad - Align 802.11 header & payload to 4-byte boundary | ||
| 143 | * @skb: The skb to align | ||
| 144 | * @header_length: Length of 802.11 header | ||
| 145 | * | ||
| 146 | * Apply L2 padding to align both header and payload to 4-byte boundary | ||
| 147 | */ | ||
| 148 | void rt2x00queue_insert_l2pad(struct sk_buff *skb, unsigned int header_length); | ||
| 149 | |||
| 150 | /** | ||
| 151 | * rt2x00queue_insert_l2pad - Remove L2 padding from 802.11 frame | ||
| 124 | * @skb: The skb to align | 152 | * @skb: The skb to align |
| 125 | * @l2pad: Should L2 padding be used | ||
| 126 | * @header_length: Length of 802.11 header | 153 | * @header_length: Length of 802.11 header |
| 127 | * | 154 | * |
| 128 | * This function prepares the @skb to be send to the device or mac80211. | 155 | * Remove L2 padding used to align both header and payload to 4-byte boundary, |
| 129 | * If @l2pad is set to true padding will occur between the 802.11 header | 156 | * by removing the L2 padding the header will no longer be 4-byte aligned. |
| 130 | * and payload. Otherwise the padding will be done in front of the 802.11 | ||
| 131 | * header. | ||
| 132 | * When @l2pad is set the function will check for the &SKBDESC_L2_PADDED | ||
| 133 | * flag in &skb_frame_desc. If that flag is set, the padding is removed | ||
| 134 | * and the flag cleared. Otherwise the padding is added and the flag is set. | ||
| 135 | */ | 157 | */ |
| 136 | void rt2x00queue_payload_align(struct sk_buff *skb, | 158 | void rt2x00queue_remove_l2pad(struct sk_buff *skb, unsigned int header_length); |
| 137 | bool l2pad, unsigned int header_length); | ||
| 138 | 159 | ||
| 139 | /** | 160 | /** |
| 140 | * rt2x00queue_write_tx_frame - Write TX frame to hardware | 161 | * rt2x00queue_write_tx_frame - Write TX frame to hardware |
| @@ -324,7 +345,7 @@ void rt2x00crypto_tx_copy_iv(struct sk_buff *skb, | |||
| 324 | void rt2x00crypto_tx_remove_iv(struct sk_buff *skb, | 345 | void rt2x00crypto_tx_remove_iv(struct sk_buff *skb, |
| 325 | struct txentry_desc *txdesc); | 346 | struct txentry_desc *txdesc); |
| 326 | void rt2x00crypto_tx_insert_iv(struct sk_buff *skb, unsigned int header_length); | 347 | void rt2x00crypto_tx_insert_iv(struct sk_buff *skb, unsigned int header_length); |
| 327 | void rt2x00crypto_rx_insert_iv(struct sk_buff *skb, bool l2pad, | 348 | void rt2x00crypto_rx_insert_iv(struct sk_buff *skb, |
| 328 | unsigned int header_length, | 349 | unsigned int header_length, |
| 329 | struct rxdone_entry_desc *rxdesc); | 350 | struct rxdone_entry_desc *rxdesc); |
| 330 | #else | 351 | #else |
