fix a small race condition in the madwifi queue handling
[openwrt.git] / package / madwifi / patches / 324-alignment.patch
1 Index: madwifi-trunk-r3280/net80211/ieee80211_input.c
2 ===================================================================
3 --- madwifi-trunk-r3280.orig/net80211/ieee80211_input.c 2008-01-28 18:38:05.794780412 +0100
4 +++ madwifi-trunk-r3280/net80211/ieee80211_input.c 2008-01-28 18:38:21.835694529 +0100
5 @@ -1279,17 +1279,8 @@
6 eh->ether_type = ether_type;
7
8 if (!ALIGNED_POINTER(skb->data + sizeof(*eh), u_int32_t)) {
9 - struct sk_buff *tskb;
10 -
11 - /* XXX: does this always work? */
12 - tskb = skb_copy(skb, GFP_ATOMIC);
13 - if (!tskb)
14 - return skb;
15 -
16 - /* We duplicate the reference after skb_copy */
17 - ieee80211_skb_copy_noderef(skb, tskb);
18 - ieee80211_dev_kfree_skb(&skb);
19 - skb = tskb;
20 + memmove(skb->data - 2, skb->data, skb->len);
21 + skb->data -= 2;
22 }
23 return skb;
24 }
This page took 0.044751 seconds and 5 git commands to generate.