add preliminary 2.6.32 support
[openwrt.git] / package / madwifi / patches / 403-changeset_r3605.patch
1 --- a/include/compat.h
2 +++ b/include/compat.h
3 @@ -182,6 +182,13 @@ static inline int timeval_compare(struct
4  #define DEV_ATH CTL_UNNUMBERED
5  #endif
6  
7 +/* __skb_append got a third parameter in 2.6.14 */
8 +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14)
9 +#define __skb_queue_after(_list, _old, _new)   __skb_append(_old, _new)
10 +#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25)
11 +#define __skb_queue_after(_list, _old, _new)   __skb_append(_old, _new, _list)
12 +#endif
13 +
14  #endif /* __KERNEL__ */
15  
16  #endif /* _ATH_COMPAT_H_ */
17 --- a/net80211/ieee80211_linux.h
18 +++ b/net80211/ieee80211_linux.h
19 @@ -345,13 +345,6 @@ typedef spinlock_t acl_lock_t;
20  #define        ACL_LOCK_CHECK(_as)
21  #endif
22  
23 -/* __skb_append got a third parameter in 2.6.14 */
24 -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14)
25 -#define __skb_append(a,b,c)    __skb_append(a, b)
26 -#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25)
27 -#define __skb_append(a,b,c)    __skb_queue_after(c, a, b)
28 -#endif
29 -
30  /*
31   * Per-node power-save queue definitions.  Beware of control
32   * flow with IEEE80211_NODE_SAVEQ_LOCK/IEEE80211_NODE_SAVEQ_UNLOCK.
33 @@ -395,16 +388,16 @@ typedef spinlock_t acl_lock_t;
34         _skb = __skb_dequeue(&(_ni)->ni_savedq);                \
35         (_qlen) = skb_queue_len(&(_ni)->ni_savedq);             \
36  } while (0)
37 -#define        _IEEE80211_NODE_SAVEQ_ENQUEUE(_ni, _skb, _qlen, _age) do {\
38 -       struct sk_buff *tail = skb_peek_tail(&(_ni)->ni_savedq);\
39 -       if (tail != NULL) {                                     \
40 -               _age -= M_AGE_GET(tail);                        \
41 -               __skb_append(tail, _skb, &(_ni)->ni_savedq);    \
42 -       } else {                                                \
43 -               __skb_queue_head(&(_ni)->ni_savedq, _skb);      \
44 -       }                                                       \
45 -       M_AGE_SET(_skb, _age);                                  \
46 -       (_qlen) = skb_queue_len(&(_ni)->ni_savedq);             \
47 +#define        _IEEE80211_NODE_SAVEQ_ENQUEUE(_ni, _skb, _qlen, _age) do {      \
48 +       struct sk_buff *tail = skb_peek_tail(&(_ni)->ni_savedq);        \
49 +       if (tail != NULL) {                                             \
50 +               _age -= M_AGE_GET(tail);                                \
51 +               __skb_queue_after(&(_ni)->ni_savedq, tail, _skb);       \
52 +       } else {                                                        \
53 +               __skb_queue_head(&(_ni)->ni_savedq, _skb);              \
54 +       }                                                               \
55 +       M_AGE_SET(_skb, _age);                                          \
56 +       (_qlen) = skb_queue_len(&(_ni)->ni_savedq);                     \
57  } while (0)
58  
59  /*
60 --- a/net80211/ieee80211_power.c
61 +++ b/net80211/ieee80211_power.c
62 @@ -243,7 +243,7 @@ ieee80211_pwrsave(struct sk_buff *skb)
63         tail = skb_peek_tail(&ni->ni_savedq);
64         if (tail != NULL) {
65                 age -= M_AGE_GET(tail);
66 -               __skb_append(tail, skb, &ni->ni_savedq);
67 +               __skb_queue_after(&ni->ni_savedq, tail, skb);
68         } else
69                 __skb_queue_head(&ni->ni_savedq, skb);
70         M_AGE_SET(skb, age);