diff options
author | Zhu Yi <yi.zhu@intel.com> | 2009-10-28 16:13:52 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-10-30 16:50:38 -0400 |
commit | 8ce0b5892460c670b71b7a0bf96549f5e7a63d6c (patch) | |
tree | 28227099d2113da0f2f4b26969f601261a0b7c99 /net/mac80211/rx.c | |
parent | ddcd4c08188dc512ceb08bcc3f4f830c2dbfb5ce (diff) |
mac80211: make align adjustment code support paged SKB
This fixed a BUG_ON in __skb_trim() when paged rx is used in
iwlwifi driver. Yes, the whole mac80211 stack doesn't support
paged SKB yet. But let's start the work slowly from small
code snippets.
Reported-and-tested-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/rx.c')
-rw-r--r-- | net/mac80211/rx.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index 798fa82b6ae3..c832d408187e 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c | |||
@@ -1326,10 +1326,10 @@ ieee80211_deliver_skb(struct ieee80211_rx_data *rx) | |||
1326 | skb = NULL; | 1326 | skb = NULL; |
1327 | } else { | 1327 | } else { |
1328 | u8 *data = skb->data; | 1328 | u8 *data = skb->data; |
1329 | size_t len = skb->len; | 1329 | size_t len = skb_headlen(skb); |
1330 | u8 *new = __skb_push(skb, align); | 1330 | skb->data -= align; |
1331 | memmove(new, data, len); | 1331 | memmove(skb->data, data, len); |
1332 | __skb_trim(skb, len); | 1332 | skb_set_tail_pointer(skb, len); |
1333 | } | 1333 | } |
1334 | } | 1334 | } |
1335 | #endif | 1335 | #endif |