summaryrefslogtreecommitdiff
path: root/package/libertas/patches/100-wext.patch
blob: da1d24b6f242ac13602239d755cf948648cc21d5 (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
Index: kmod-libertas/scan.c
===================================================================
--- kmod-libertas.orig/scan.c	2008-11-30 17:44:39.000000000 +0100
+++ kmod-libertas/scan.c	2008-11-30 17:46:08.000000000 +0100
@@ -13,6 +13,13 @@
 #include "scan.h"
 #include "cmd.h"
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27) 
+#define IWE(func, ...) func(&iweinfo, __VA_ARGS__)
+static struct iw_request_info iweinfo = { 0, 0 };
+#else
+#define IWE(func, ...) func(__VA_ARGS__)
+#endif
+
 //! Approximate amount of data needed to pass a scan result back to iwlist
 #define MAX_SCAN_CELL_SIZE  (IW_EV_ADDR_LEN             \
                              + IW_ESSID_MAX_SIZE        \
@@ -807,7 +814,7 @@
 	iwe.cmd = SIOCGIWESSID;
 	iwe.u.data.flags = 1;
 	iwe.u.data.length = min((uint32_t) bss->ssid_len, (uint32_t) IW_ESSID_MAX_SIZE);
-	start = iwe_stream_add_point(start, stop, &iwe, bss->ssid);
+	start = IWE(iwe_stream_add_point, start, stop, &iwe, bss->ssid);
 
 	/* Mode */
 	iwe.cmd = SIOCGIWMODE;
@@ -862,7 +869,7 @@
 		iwe.u.data.flags = IW_ENCODE_DISABLED;
 	}
 	iwe.u.data.length = 0;
-	start = iwe_stream_add_point(start, stop, &iwe, bss->ssid);
+	start = IWE(iwe_stream_add_point, start, stop, &iwe, bss->ssid);
 
 	current_val = start + IW_EV_LCP_LEN;
 
@@ -874,7 +881,7 @@
 	for (j = 0; bss->rates[j] && (j < sizeof(bss->rates)); j++) {
 		/* Bit rate given in 500 kb/s units */
 		iwe.u.bitrate.value = bss->rates[j] * 500000;
-		current_val = iwe_stream_add_value(start, current_val,
+		current_val = IWE(iwe_stream_add_value, start, current_val,
 					 stop, &iwe, IW_EV_PARAM_LEN);
 	}
 	if ((bss->mode == IW_MODE_ADHOC) && priv->adhoccreate
@@ -882,7 +889,7 @@
 			     priv->curbssparams.ssid_len,
 			     bss->ssid, bss->ssid_len)) {
 		iwe.u.bitrate.value = 22 * 500000;
-		current_val = iwe_stream_add_value(start, current_val,
+		current_val = IWE(iwe_stream_add_value, start, current_val,
 						   stop, &iwe, IW_EV_PARAM_LEN);
 	}
 	/* Check if we added any event */
@@ -895,7 +902,7 @@
 		memcpy(buf, bss->wpa_ie, bss->wpa_ie_len);
 		iwe.cmd = IWEVGENIE;
 		iwe.u.data.length = bss->wpa_ie_len;
-		start = iwe_stream_add_point(start, stop, &iwe, buf);
+		start = IWE(iwe_stream_add_point, start, stop, &iwe, buf);
 	}
 
 	memset(&iwe, 0, sizeof(iwe));
@@ -904,7 +911,7 @@
 		memcpy(buf, bss->rsn_ie, bss->rsn_ie_len);
 		iwe.cmd = IWEVGENIE;
 		iwe.u.data.length = bss->rsn_ie_len;
-		start = iwe_stream_add_point(start, stop, &iwe, buf);
+		start = IWE(iwe_stream_add_point, start, stop, &iwe, buf);
 	}
 
 	if (bss->mesh) {
@@ -915,7 +922,7 @@
 		p += snprintf(p, MAX_CUSTOM_LEN, "mesh-type: olpc");
 		iwe.u.data.length = p - custom;
 		if (iwe.u.data.length)
-			start = iwe_stream_add_point(start, stop, &iwe, custom);
+			start = IWE(iwe_stream_add_point, start, stop, &iwe, custom);
 	}
 
 out: