diff options
author | Zhu Yi <yi.zhu@intel.com> | 2009-10-28 13:13:52 -0700 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-10-30 16:50:38 -0400 |
commit | 8ce0b5892460c670b71b7a0bf96549f5e7a63d6c (patch) | |
tree | 28227099d2113da0f2f4b26969f601261a0b7c99 /net/mac80211 | |
parent | ddcd4c08188dc512ceb08bcc3f4f830c2dbfb5ce (diff) | |
download | op-kernel-dev-8ce0b5892460c670b71b7a0bf96549f5e7a63d6c.zip op-kernel-dev-8ce0b5892460c670b71b7a0bf96549f5e7a63d6c.tar.gz |
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')
-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 798fa82..c832d40 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -1326,10 +1326,10 @@ ieee80211_deliver_skb(struct ieee80211_rx_data *rx) skb = NULL; } else { u8 *data = skb->data; - size_t len = skb->len; - u8 *new = __skb_push(skb, align); - memmove(new, data, len); - __skb_trim(skb, len); + size_t len = skb_headlen(skb); + skb->data -= align; + memmove(skb->data, data, len); + skb_set_tail_pointer(skb, len); } } #endif |