summaryrefslogtreecommitdiffstats
path: root/abs/core/wlan-ng26-utils/kernel-2.6.22-r1832.patch
blob: f1aa310689deb81b4ec75fb29181316473589a5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
diff -uNr linux-wlan-ng-0.2.8/CHANGES linux-wlan-ng-svn-1832/CHANGES
--- linux-wlan-ng-0.2.8/CHANGES	2007-05-04 13:29:27.000000000 +0100
+++ linux-wlan-ng-svn-1832/CHANGES	2007-06-27 11:28:14.000000000 +0100
@@ -41,6 +41,8 @@
 * Intersil Corporation as part of PRISM(R) chipset product development.
 *
 * --------------------------------------------------------------------
+ - Tweaks to support Fedora 7 (Dan Williams)
+ - Support 2.6.22 kernels
 0.2.8
  - Fix up a pile of sparse warnings (Pavel Roskin)
  - Support 2.6.20 kernels (Pavel Roskin)
diff -uNr linux-wlan-ng-0.2.8/Configure linux-wlan-ng-svn-1832/Configure
--- linux-wlan-ng-0.2.8/Configure	2007-05-07 23:00:22.000000000 +0100
+++ linux-wlan-ng-svn-1832/Configure	2007-06-27 11:28:14.000000000 +0100
@@ -277,9 +277,9 @@
 fi
 write_bool KERN_2_6_17
 
-if [ $VERSION_CODE -gt `version 2 6 21` ] ; then
+if [ $VERSION_CODE -gt `version 2 6 22` ] ; then
     $ECHO "******* WARNING WARNING WARNING *******"
-    $ECHO "Kernels newer than 2.6.21.x are not supported."
+    $ECHO "Kernels newer than 2.6.22.x are not supported."
     $ECHO "******* WARNING WARNING WARNING *******"
 fi
 
diff -uNr linux-wlan-ng-0.2.8/config.in linux-wlan-ng-svn-1832/config.in
--- linux-wlan-ng-0.2.8/config.in	2007-02-09 21:51:58.000000000 +0000
+++ linux-wlan-ng-svn-1832/config.in	2007-06-27 11:28:14.000000000 +0100
@@ -1,6 +1,6 @@
 WLAN_VERSION=0
 WLAN_PATCHLEVEL=2
-WLAN_SUBLEVEL=8
+WLAN_SUBLEVEL=9
 WLAN_EXTRAVERSION=
 #LINUX_SRC=/usr/src/linux
 PCMCIA_SRC=
diff -uNr linux-wlan-ng-0.2.8/etc/udev/rules.d/40-prism2.rules linux-wlan-ng-svn-1832/etc/udev/rules.d/40-prism2.rules
--- linux-wlan-ng-0.2.8/etc/udev/rules.d/40-prism2.rules	2006-06-26 16:03:27.000000000 +0100
+++ linux-wlan-ng-svn-1832/etc/udev/rules.d/40-prism2.rules	2007-06-27 11:28:14.000000000 +0100
@@ -1 +1,2 @@
-ACTION=="add",BUS=="usb",DRIVER=="prism2_usb" ,RUN+="/etc/wlan/wlan-udev.sh %k"
+#ACTION=="add",BUS=="usb",DRIVER=="prism2_usb" ,RUN+="/etc/wlan/wlan-udev.sh %k"
+KERNEL="wlan*",ACTION=="add",DRIVERS=="prism2_usb" ,RUN+="/etc/wlan/wlan-udev.sh %k"
diff -uNr linux-wlan-ng-0.2.8/src/include/wlan/wlan_compat.h linux-wlan-ng-svn-1832/src/include/wlan/wlan_compat.h
--- linux-wlan-ng-0.2.8/src/include/wlan/wlan_compat.h	2007-02-28 15:44:02.000000000 +0000
+++ linux-wlan-ng-svn-1832/src/include/wlan/wlan_compat.h	2007-06-27 11:28:14.000000000 +0100
@@ -479,6 +479,13 @@
 #endif
 #endif /* _LINUX_PROC_FS_H */
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
+#define skb_reset_mac_header(__a)  (__a)->mac.raw = (__a)->data
+#define SKB_MAC_HEADER(__a) (__a)->mac.raw
+#else
+#define SKB_MAC_HEADER(__a) (__a)->mac_header
+#endif
+
 #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0))
 #ifndef INIT_TQUEUE
 #define PREPARE_TQUEUE(_tq, _routine, _data)                    \
diff -uNr linux-wlan-ng-0.2.8/src/p80211/p80211conv.c linux-wlan-ng-svn-1832/src/p80211/p80211conv.c
--- linux-wlan-ng-0.2.8/src/p80211/p80211conv.c	2007-03-19 15:37:00.000000000 +0000
+++ linux-wlan-ng-svn-1832/src/p80211/p80211conv.c	2007-06-27 11:28:14.000000000 +0100
@@ -498,7 +498,7 @@
 	}
 
 	skb->protocol = eth_type_trans(skb, netdev);
-	skb->mac.raw = (unsigned char *) e_hdr; /* new MAC header */
+	SKB_MAC_HEADER(skb) = (unsigned char *) e_hdr; /* new MAC header */
 
         /* jkriegl: process signal and noise as set in hfa384x_int_rx() */
 	/* jkriegl: only process signal/noise if requested by iwspy */
diff -uNr linux-wlan-ng-0.2.8/src/p80211/p80211netdev.c linux-wlan-ng-svn-1832/src/p80211/p80211netdev.c
--- linux-wlan-ng-0.2.8/src/p80211/p80211netdev.c	2007-03-19 15:37:00.000000000 +0000
+++ linux-wlan-ng-svn-1832/src/p80211/p80211netdev.c	2007-06-27 11:28:14.000000000 +0100
@@ -389,7 +389,8 @@
 
 				/* set up various data fields */
 				skb->dev = dev;
-				skb->mac.raw = skb->data ;
+				skb_reset_mac_header(skb);
+
 				skb->ip_summed = CHECKSUM_NONE;
 				skb->pkt_type = PACKET_OTHERHOST;
 				skb->protocol = htons(ETH_P_80211_RAW); 
@@ -929,7 +930,7 @@
 		dev->open =		p80211knetdev_open;
 		dev->stop =		p80211knetdev_stop;
 
-#ifdef CONFIG_NET_WIRELESS
+#if defined(CONFIG_NET_WIRELESS) || defined(WIRELESS_EXT)
 #if ((WIRELESS_EXT < 17) && (WIRELESS_EXT < 21))
 		dev->get_wireless_stats = p80211wext_get_wireless_stats;
 #endif
diff -uNr linux-wlan-ng-0.2.8/src/prism2/driver/hfa384x.c linux-wlan-ng-svn-1832/src/prism2/driver/hfa384x.c
--- linux-wlan-ng-0.2.8/src/prism2/driver/hfa384x.c	2007-03-19 15:37:00.000000000 +0000
+++ linux-wlan-ng-svn-1832/src/prism2/driver/hfa384x.c	2007-06-27 11:28:14.000000000 +0100
@@ -3645,7 +3645,7 @@
 		/* the prism2 cards don't return the FCS */
 		datap = skb_put(skb, WLAN_CRC_LEN);
 		memset (datap, 0xff, WLAN_CRC_LEN);
-		skb->mac.raw = skb->data;
+		skb_reset_mac_header(skb);
 
 		/* Attach the rxmeta, set some stuff */
 		p80211skb_rxmeta_attach(wlandev, skb);
diff -uNr linux-wlan-ng-0.2.8/src/prism2/driver/hfa384x_usb.c linux-wlan-ng-svn-1832/src/prism2/driver/hfa384x_usb.c
--- linux-wlan-ng-0.2.8/src/prism2/driver/hfa384x_usb.c	2007-03-19 15:37:00.000000000 +0000
+++ linux-wlan-ng-svn-1832/src/prism2/driver/hfa384x_usb.c	2007-06-27 11:28:14.000000000 +0100
@@ -4255,7 +4255,7 @@
 		/* The prism2 series does not return the CRC */
 		memset(skb_put(skb, WLAN_CRC_LEN), 0xff, WLAN_CRC_LEN);
 
-		skb->mac.raw = skb->data;
+		skb_reset_mac_header(skb);
 
 		/* Attach the rxmeta, set some stuff */
 		p80211skb_rxmeta_attach(wlandev, skb);