diff options
Diffstat (limited to 'package/madwifi/patches/324-alignment.patch')
-rw-r--r-- | package/madwifi/patches/324-alignment.patch | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/package/madwifi/patches/324-alignment.patch b/package/madwifi/patches/324-alignment.patch new file mode 100644 index 000000000..c01135f3e --- /dev/null +++ b/package/madwifi/patches/324-alignment.patch @@ -0,0 +1,19 @@ +--- a/net80211/ieee80211_input.c ++++ b/net80211/ieee80211_input.c +@@ -1275,14 +1275,8 @@ ieee80211_decap(struct ieee80211vap *vap + eh->ether_type = ether_type; + + if (!ALIGNED_POINTER(skb->data + sizeof(*eh), u_int32_t)) { +- struct sk_buff *tskb; +- +- /* XXX: does this always work? */ +- tskb = skb_copy(skb, GFP_ATOMIC); +- if (tskb) +- ieee80211_skb_copy_noderef(skb, tskb); +- ieee80211_dev_kfree_skb(&skb); +- skb = tskb; ++ memmove(skb->data - 2, skb->data, skb->len); ++ skb->data -= 2; + } + return skb; + } |