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>
This commit is contained in:
Zhu Yi 2009-10-28 13:13:52 -07:00 committed by John W. Linville
parent ddcd4c0818
commit 8ce0b58924
1 changed files with 4 additions and 4 deletions

View File

@ -1326,10 +1326,10 @@ ieee80211_deliver_skb(struct ieee80211_rx_data *rx)
skb = NULL; skb = NULL;
} else { } else {
u8 *data = skb->data; u8 *data = skb->data;
size_t len = skb->len; size_t len = skb_headlen(skb);
u8 *new = __skb_push(skb, align); skb->data -= align;
memmove(new, data, len); memmove(skb->data, data, len);
__skb_trim(skb, len); skb_set_tail_pointer(skb, len);
} }
} }
#endif #endif