mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-04 06:54:27 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			71 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
--- a/include/compat.h
 | 
						|
+++ b/include/compat.h
 | 
						|
@@ -182,6 +182,13 @@ static inline int timeval_compare(struct
 | 
						|
 #define DEV_ATH CTL_UNNUMBERED
 | 
						|
 #endif
 | 
						|
 
 | 
						|
+/* __skb_append got a third parameter in 2.6.14 */
 | 
						|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14)
 | 
						|
+#define __skb_queue_after(_list, _old, _new)	__skb_append(_old, _new)
 | 
						|
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25)
 | 
						|
+#define __skb_queue_after(_list, _old, _new)	__skb_append(_old, _new, _list)
 | 
						|
+#endif
 | 
						|
+
 | 
						|
 #endif /* __KERNEL__ */
 | 
						|
 
 | 
						|
 #endif /* _ATH_COMPAT_H_ */
 | 
						|
--- a/net80211/ieee80211_linux.h
 | 
						|
+++ b/net80211/ieee80211_linux.h
 | 
						|
@@ -338,13 +338,6 @@ typedef spinlock_t acl_lock_t;
 | 
						|
 #define	ACL_LOCK_CHECK(_as)
 | 
						|
 #endif
 | 
						|
 
 | 
						|
-/* __skb_append got a third parameter in 2.6.14 */
 | 
						|
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14)
 | 
						|
-#define __skb_append(a,b,c)	__skb_append(a, b)
 | 
						|
-#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25)
 | 
						|
-#define __skb_append(a,b,c)	__skb_queue_after(c, a, b)
 | 
						|
-#endif
 | 
						|
-
 | 
						|
 /*
 | 
						|
  * Per-node power-save queue definitions.  Beware of control
 | 
						|
  * flow with IEEE80211_NODE_SAVEQ_LOCK/IEEE80211_NODE_SAVEQ_UNLOCK.
 | 
						|
@@ -388,16 +381,16 @@ typedef spinlock_t acl_lock_t;
 | 
						|
 	_skb = __skb_dequeue(&(_ni)->ni_savedq);		\
 | 
						|
 	(_qlen) = skb_queue_len(&(_ni)->ni_savedq);		\
 | 
						|
 } while (0)
 | 
						|
-#define	_IEEE80211_NODE_SAVEQ_ENQUEUE(_ni, _skb, _qlen, _age) do {\
 | 
						|
-	struct sk_buff *tail = skb_peek_tail(&(_ni)->ni_savedq);\
 | 
						|
-	if (tail != NULL) {					\
 | 
						|
-		_age -= M_AGE_GET(tail);			\
 | 
						|
-		__skb_append(tail, _skb, &(_ni)->ni_savedq);	\
 | 
						|
-	} else { 						\
 | 
						|
-		__skb_queue_head(&(_ni)->ni_savedq, _skb);	\
 | 
						|
-	}							\
 | 
						|
-	M_AGE_SET(_skb, _age);					\
 | 
						|
-	(_qlen) = skb_queue_len(&(_ni)->ni_savedq); 		\
 | 
						|
+#define	_IEEE80211_NODE_SAVEQ_ENQUEUE(_ni, _skb, _qlen, _age) do {	\
 | 
						|
+	struct sk_buff *tail = skb_peek_tail(&(_ni)->ni_savedq);	\
 | 
						|
+	if (tail != NULL) {						\
 | 
						|
+		_age -= M_AGE_GET(tail);				\
 | 
						|
+		__skb_queue_after(&(_ni)->ni_savedq, tail, _skb);	\
 | 
						|
+	} else { 							\
 | 
						|
+		__skb_queue_head(&(_ni)->ni_savedq, _skb);		\
 | 
						|
+	}								\
 | 
						|
+	M_AGE_SET(_skb, _age);						\
 | 
						|
+	(_qlen) = skb_queue_len(&(_ni)->ni_savedq); 			\
 | 
						|
 } while (0)
 | 
						|
 
 | 
						|
 /*
 | 
						|
--- a/net80211/ieee80211_power.c
 | 
						|
+++ b/net80211/ieee80211_power.c
 | 
						|
@@ -243,7 +243,7 @@ ieee80211_pwrsave(struct sk_buff *skb)
 | 
						|
 	tail = skb_peek_tail(&ni->ni_savedq);
 | 
						|
 	if (tail != NULL) {
 | 
						|
 		age -= M_AGE_GET(tail);
 | 
						|
-		__skb_append(tail, skb, &ni->ni_savedq);
 | 
						|
+		__skb_queue_after(&ni->ni_savedq, tail, skb);
 | 
						|
 	} else
 | 
						|
 		__skb_queue_head(&ni->ni_savedq, skb);
 | 
						|
 	M_AGE_SET(skb, age);
 |