diff options
author | Helmut Schaa <helmut.schaa@googlemail.com> | 2011-03-28 07:33:04 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-04-04 16:20:03 -0400 |
commit | 2f2bb7e8bdc977c94cdaaf84328526555eba89b1 (patch) | |
tree | 2fecab069c76d9fc83df47453b781f440fe2659e | |
parent | fa71a160272c0eec9c04102ab2a82befb7cb107f (diff) |
rt2x00: Remove obsolete rt2x00queue_align_payload
Since commit d1c3a37ceeb1a5ea02991a0476355f1a1d3b3e83 ("mac80211:
clarify alignment docs, fix up alignment") removed the requirement
for a 4-byte aligned payload rt2x00queue_align_payload is obsolete
as mac80211 will align the payload when it passes the frame to the
net stack.
As a result we can remove the call to rt2x00queue_align_payload in the
rx path and since that's the last user we can remove
rt2x00queue_align_payload altogether.
One advantage is that we save some alignment operations for frames
that don't need to be aligned (for example beause they are not passed
to the net stack).
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00dev.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00lib.h | 10 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00queue.c | 13 |
3 files changed, 0 insertions, 25 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c index d63b582b6875..55c1d0332b2a 100644 --- a/drivers/net/wireless/rt2x00/rt2x00dev.c +++ b/drivers/net/wireless/rt2x00/rt2x00dev.c | |||
@@ -512,8 +512,6 @@ void rt2x00lib_rxdone(struct queue_entry *entry) | |||
512 | (rxdesc.size > header_length) && | 512 | (rxdesc.size > header_length) && |
513 | (rxdesc.dev_flags & RXDONE_L2PAD)) | 513 | (rxdesc.dev_flags & RXDONE_L2PAD)) |
514 | rt2x00queue_remove_l2pad(entry->skb, header_length); | 514 | rt2x00queue_remove_l2pad(entry->skb, header_length); |
515 | else | ||
516 | rt2x00queue_align_payload(entry->skb, header_length); | ||
517 | 515 | ||
518 | /* Trim buffer to correct size */ | 516 | /* Trim buffer to correct size */ |
519 | skb_trim(entry->skb, rxdesc.size); | 517 | skb_trim(entry->skb, rxdesc.size); |
diff --git a/drivers/net/wireless/rt2x00/rt2x00lib.h b/drivers/net/wireless/rt2x00/rt2x00lib.h index 2d94cbaf5f4a..63c40d457244 100644 --- a/drivers/net/wireless/rt2x00/rt2x00lib.h +++ b/drivers/net/wireless/rt2x00/rt2x00lib.h | |||
@@ -119,16 +119,6 @@ void rt2x00queue_free_skb(struct queue_entry *entry); | |||
119 | void rt2x00queue_align_frame(struct sk_buff *skb); | 119 | void rt2x00queue_align_frame(struct sk_buff *skb); |
120 | 120 | ||
121 | /** | 121 | /** |
122 | * rt2x00queue_align_payload - Align 802.11 payload to 4-byte boundary | ||
123 | * @skb: The skb to align | ||
124 | * @header_length: Length of 802.11 header | ||
125 | * | ||
126 | * Align the 802.11 payload to a 4-byte boundary, this could | ||
127 | * mean the header is not aligned properly though. | ||
128 | */ | ||
129 | void rt2x00queue_align_payload(struct sk_buff *skb, unsigned int header_length); | ||
130 | |||
131 | /** | ||
132 | * rt2x00queue_insert_l2pad - Align 802.11 header & payload to 4-byte boundary | 122 | * rt2x00queue_insert_l2pad - Align 802.11 header & payload to 4-byte boundary |
133 | * @skb: The skb to align | 123 | * @skb: The skb to align |
134 | * @header_length: Length of 802.11 header | 124 | * @header_length: Length of 802.11 header |
diff --git a/drivers/net/wireless/rt2x00/rt2x00queue.c b/drivers/net/wireless/rt2x00/rt2x00queue.c index 4b3c70eeef1f..5d8925991ffb 100644 --- a/drivers/net/wireless/rt2x00/rt2x00queue.c +++ b/drivers/net/wireless/rt2x00/rt2x00queue.c | |||
@@ -148,19 +148,6 @@ void rt2x00queue_align_frame(struct sk_buff *skb) | |||
148 | skb_trim(skb, frame_length); | 148 | skb_trim(skb, frame_length); |
149 | } | 149 | } |
150 | 150 | ||
151 | void rt2x00queue_align_payload(struct sk_buff *skb, unsigned int header_length) | ||
152 | { | ||
153 | unsigned int frame_length = skb->len; | ||
154 | unsigned int align = ALIGN_SIZE(skb, header_length); | ||
155 | |||
156 | if (!align) | ||
157 | return; | ||
158 | |||
159 | skb_push(skb, align); | ||
160 | memmove(skb->data, skb->data + align, frame_length); | ||
161 | skb_trim(skb, frame_length); | ||
162 | } | ||
163 | |||
164 | void rt2x00queue_insert_l2pad(struct sk_buff *skb, unsigned int header_length) | 151 | void rt2x00queue_insert_l2pad(struct sk_buff *skb, unsigned int header_length) |
165 | { | 152 | { |
166 | unsigned int payload_length = skb->len - header_length; | 153 | unsigned int payload_length = skb->len - header_length; |