summaryrefslogtreecommitdiffstats
path: root/abs/core/tiacx/kernel-2.6.27.patch
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/tiacx/kernel-2.6.27.patch')
-rw-r--r--abs/core/tiacx/kernel-2.6.27.patch82
1 files changed, 82 insertions, 0 deletions
diff --git a/abs/core/tiacx/kernel-2.6.27.patch b/abs/core/tiacx/kernel-2.6.27.patch
new file mode 100644
index 0000000..f0c114b
--- /dev/null
+++ b/abs/core/tiacx/kernel-2.6.27.patch
@@ -0,0 +1,82 @@
+diff -Nur acx-20080210.orig/ioctl.c acx-20080210/ioctl.c
+--- acx-20080210.orig/ioctl.c 2008-02-10 21:06:42.000000000 +0100
++++ acx-20080210/ioctl.c 2008-10-10 17:07:32.000000000 +0200
+@@ -489,6 +489,7 @@
+ static char*
+ acx_s_scan_add_station(
+ acx_device_t *adev,
++ struct iw_request_info *info,
+ char *ptr,
+ char *end_buf,
+ struct client *bss)
+@@ -503,14 +504,14 @@
+ iwe.u.ap_addr.sa_family = ARPHRD_ETHER;
+ MAC_COPY(iwe.u.ap_addr.sa_data, bss->bssid);
+ acxlog_mac(L_IOCTL, "scan, station address: ", bss->bssid, "\n");
+- ptr = iwe_stream_add_event(ptr, end_buf, &iwe, IW_EV_ADDR_LEN);
++ ptr = iwe_stream_add_event(info, ptr, end_buf, &iwe, IW_EV_ADDR_LEN);
+
+ /* Add ESSID */
+ iwe.cmd = SIOCGIWESSID;
+ iwe.u.data.length = bss->essid_len;
+ iwe.u.data.flags = 1;
+ log(L_IOCTL, "scan, essid: %s\n", bss->essid);
+- ptr = iwe_stream_add_point(ptr, end_buf, &iwe, bss->essid);
++ ptr = iwe_stream_add_point(info, ptr, end_buf, &iwe, bss->essid);
+
+ /* Add mode */
+ iwe.cmd = SIOCGIWMODE;
+@@ -520,7 +521,7 @@
+ else
+ iwe.u.mode = IW_MODE_ADHOC;
+ log(L_IOCTL, "scan, mode: %d\n", iwe.u.mode);
+- ptr = iwe_stream_add_event(ptr, end_buf, &iwe, IW_EV_UINT_LEN);
++ ptr = iwe_stream_add_event(info, ptr, end_buf, &iwe, IW_EV_UINT_LEN);
+ }
+
+ /* Add frequency */
+@@ -528,7 +529,7 @@
+ iwe.u.freq.m = acx_channel_freq[bss->channel - 1] * 100000;
+ iwe.u.freq.e = 1;
+ log(L_IOCTL, "scan, frequency: %d\n", iwe.u.freq.m);
+- ptr = iwe_stream_add_event(ptr, end_buf, &iwe, IW_EV_FREQ_LEN);
++ ptr = iwe_stream_add_event(info, ptr, end_buf, &iwe, IW_EV_FREQ_LEN);
+
+ /* Add link quality */
+ iwe.cmd = IWEVQUAL;
+@@ -546,7 +547,7 @@
+ iwe.u.qual.updated = 7;
+ log(L_IOCTL, "scan, link quality: %d/%d/%d\n",
+ iwe.u.qual.level, iwe.u.qual.noise, iwe.u.qual.qual);
+- ptr = iwe_stream_add_event(ptr, end_buf, &iwe, IW_EV_QUAL_LEN);
++ ptr = iwe_stream_add_event(info, ptr, end_buf, &iwe, IW_EV_QUAL_LEN);
+
+ /* Add encryption */
+ iwe.cmd = SIOCGIWENCODE;
+@@ -556,7 +557,7 @@
+ iwe.u.data.flags = IW_ENCODE_DISABLED;
+ iwe.u.data.length = 0;
+ log(L_IOCTL, "scan, encryption flags: %X\n", iwe.u.data.flags);
+- ptr = iwe_stream_add_point(ptr, end_buf, &iwe, bss->essid);
++ ptr = iwe_stream_add_point(info, ptr, end_buf, &iwe, bss->essid);
+
+ /* add rates */
+ iwe.cmd = SIOCGIWRATE;
+@@ -570,7 +571,7 @@
+ if (rate & 1) {
+ iwe.u.bitrate.value = *p * 500000; /* units of 500kb/s */
+ log(L_IOCTL, "scan, rate: %d\n", iwe.u.bitrate.value);
+- ptr_rate = iwe_stream_add_value(ptr, ptr_rate, end_buf,
++ ptr_rate = iwe_stream_add_value(info, ptr, ptr_rate, end_buf,
+ &iwe, IW_EV_PARAM_LEN);
+ }
+ rate >>= 1;
+@@ -625,7 +626,7 @@
+ for (i = 0; i < ARRAY_SIZE(adev->sta_list); i++) {
+ struct client *bss = &adev->sta_list[i];
+ if (!bss->used) continue;
+- ptr = acx_s_scan_add_station(adev, ptr,
++ ptr = acx_s_scan_add_station(adev, info, ptr,
+ extra + IW_SCAN_MAX_DATA, bss);
+ }
+ dwrq->length = ptr - extra;