summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Jaroszyński <peper@gentoo.org>2008-11-20 15:45:32 +0000
committerPiotr Jaroszyński <peper@gentoo.org>2008-11-20 15:45:32 +0000
commit0b13ac05cae554966f12a70f59324996b8411bd4 (patch)
tree21a990ffa32c70553f060310ac96daad52e8bf48 /net-wireless/ndiswrapper
parentMarked ~hppa too (thanks to LuckyLuke). (diff)
downloadgentoo-2-0b13ac05cae554966f12a70f59324996b8411bd4.tar.gz
gentoo-2-0b13ac05cae554966f12a70f59324996b8411bd4.tar.bz2
gentoo-2-0b13ac05cae554966f12a70f59324996b8411bd4.zip
Use the upstream patch for 2.6.27 support instead.
(Portage version: 2.2_rc14/cvs/Linux 2.6.26-gentoo x86_64)
Diffstat (limited to 'net-wireless/ndiswrapper')
-rw-r--r--net-wireless/ndiswrapper/ChangeLog6
-rw-r--r--net-wireless/ndiswrapper/files/ndiswrapper-2.6.27.patch82
2 files changed, 61 insertions, 27 deletions
diff --git a/net-wireless/ndiswrapper/ChangeLog b/net-wireless/ndiswrapper/ChangeLog
index 74a83bfe2f5c..9f6631a62dd9 100644
--- a/net-wireless/ndiswrapper/ChangeLog
+++ b/net-wireless/ndiswrapper/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for net-wireless/ndiswrapper
# Copyright 2000-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/ndiswrapper/ChangeLog,v 1.104 2008/11/20 15:40:08 peper Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/ndiswrapper/ChangeLog,v 1.105 2008/11/20 15:45:32 peper Exp $
+
+ 20 Nov 2008; Piotr Jaroszyński <peper@gentoo.org>
+ files/ndiswrapper-2.6.27.patch:
+ Use the upstream patch for 2.6.27 support instead.
20 Nov 2008; Piotr Jaroszyński <peper@gentoo.org>
+files/ndiswrapper-2.6.27.patch, ndiswrapper-1.53-r1.ebuild:
diff --git a/net-wireless/ndiswrapper/files/ndiswrapper-2.6.27.patch b/net-wireless/ndiswrapper/files/ndiswrapper-2.6.27.patch
index 522dfe9afba5..30470f44e1e0 100644
--- a/net-wireless/ndiswrapper/files/ndiswrapper-2.6.27.patch
+++ b/net-wireless/ndiswrapper/files/ndiswrapper-2.6.27.patch
@@ -1,86 +1,113 @@
-diff -aur driver.old/iw_ndis.c driver/iw_ndis.c
---- driver.old/iw_ndis.c 2008-08-04 21:10:16.000000000 +0200
-+++ driver/iw_ndis.c 2008-08-04 21:30:12.000000000 +0200
-@@ -1015,7 +1015,7 @@
+--- trunk/ndiswrapper/driver/iw_ndis.c 2008/05/18 04:27:22 2663
++++ trunk/ndiswrapper/driver/iw_ndis.c 2008/07/10 15:17:50 2668
+@@ -1015,7 +1015,16 @@
return 0;
}
-static char *ndis_translate_scan(struct net_device *dev, char *event,
-+static char *ndis_translate_scan(struct net_device *dev, struct iw_request_info *info, char *event,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 27) && !defined(IW_REQUEST_FLAG_COMPAT)
++#define iwe_stream_add_event(a, b, c, d, e) iwe_stream_add_event(b, c, d, e)
++#define iwe_stream_add_point(a, b, c, d, e) iwe_stream_add_point(b, c, d, e)
++#define iwe_stream_add_value(a, b, c, d, e, f) \
++ iwe_stream_add_value(b, c, d, e, f)
++#define iwe_stream_lcp_len(a) IW_EV_LCP_LEN
++#endif
++
++static char *ndis_translate_scan(struct net_device *dev,
++ struct iw_request_info *info, char *event,
char *end_buf, void *item)
{
struct iw_event iwe;
-@@ -1034,7 +1034,7 @@
+@@ -1034,7 +1043,8 @@
iwe.u.ap_addr.sa_family = ARPHRD_ETHER;
iwe.len = IW_EV_ADDR_LEN;
memcpy(iwe.u.ap_addr.sa_data, bssid->mac, ETH_ALEN);
- event = iwe_stream_add_event(event, end_buf, &iwe, IW_EV_ADDR_LEN);
-+ event = iwe_stream_add_event(info, event, end_buf, &iwe, IW_EV_ADDR_LEN);
++ event = iwe_stream_add_event(info, event, end_buf, &iwe,
++ IW_EV_ADDR_LEN);
/* add essid */
memset(&iwe, 0, sizeof(iwe));
-@@ -1044,13 +1044,13 @@
+@@ -1044,13 +1054,15 @@
iwe.u.data.length = IW_ESSID_MAX_SIZE;
iwe.u.data.flags = 1;
iwe.len = IW_EV_POINT_LEN + iwe.u.data.length;
- event = iwe_stream_add_point(event, end_buf, &iwe, bssid->ssid.essid);
-+ event = iwe_stream_add_point(info, event, end_buf, &iwe, bssid->ssid.essid);
++ event = iwe_stream_add_point(info, event, end_buf, &iwe,
++ bssid->ssid.essid);
/* add protocol name */
memset(&iwe, 0, sizeof(iwe));
iwe.cmd = SIOCGIWNAME;
strncpy(iwe.u.name, network_type_to_name(bssid->net_type), IFNAMSIZ);
- event = iwe_stream_add_event(event, end_buf, &iwe, IW_EV_CHAR_LEN);
-+ event = iwe_stream_add_event(info, event, end_buf, &iwe, IW_EV_CHAR_LEN);
++ event = iwe_stream_add_event(info, event, end_buf, &iwe,
++ IW_EV_CHAR_LEN);
/* add mode */
memset(&iwe, 0, sizeof(iwe));
-@@ -1061,7 +1061,7 @@
+@@ -1061,7 +1073,8 @@
iwe.u.mode = IW_MODE_INFRA;
else // if (bssid->mode == Ndis802_11AutoUnknown)
iwe.u.mode = IW_MODE_AUTO;
- event = iwe_stream_add_event(event, end_buf, &iwe, IW_EV_UINT_LEN);
-+ event = iwe_stream_add_event(info, event, end_buf, &iwe, IW_EV_UINT_LEN);
++ event = iwe_stream_add_event(info, event, end_buf, &iwe,
++ IW_EV_UINT_LEN);
/* add freq */
memset(&iwe, 0, sizeof(iwe));
-@@ -1076,7 +1076,7 @@
+@@ -1076,7 +1089,8 @@
/* convert from kHz to Hz */
iwe.u.freq.e += 3;
iwe.len = IW_EV_FREQ_LEN;
- event = iwe_stream_add_event(event, end_buf, &iwe, IW_EV_FREQ_LEN);
-+ event = iwe_stream_add_event(info, event, end_buf, &iwe, IW_EV_FREQ_LEN);
++ event = iwe_stream_add_event(info, event, end_buf, &iwe,
++ IW_EV_FREQ_LEN);
/* add qual */
memset(&iwe, 0, sizeof(iwe));
-@@ -1090,7 +1090,7 @@
+@@ -1090,7 +1104,8 @@
iwe.u.qual.noise = WL_NOISE;
iwe.u.qual.qual = i;
iwe.len = IW_EV_QUAL_LEN;
- event = iwe_stream_add_event(event, end_buf, &iwe, IW_EV_QUAL_LEN);
-+ event = iwe_stream_add_event(info, event, end_buf, &iwe, IW_EV_QUAL_LEN);
++ event = iwe_stream_add_event(info, event, end_buf, &iwe,
++ IW_EV_QUAL_LEN);
/* add key info */
memset(&iwe, 0, sizeof(iwe));
-@@ -1101,7 +1101,7 @@
+@@ -1101,11 +1116,12 @@
iwe.u.data.flags = IW_ENCODE_ENABLED | IW_ENCODE_NOKEY;
iwe.u.data.length = 0;
iwe.len = IW_EV_POINT_LEN;
- event = iwe_stream_add_point(event, end_buf, &iwe, bssid->ssid.essid);
-+ event = iwe_stream_add_point(info, event, end_buf, &iwe, bssid->ssid.essid);
++ event = iwe_stream_add_point(info, event, end_buf, &iwe,
++ bssid->ssid.essid);
/* add rate */
memset(&iwe, 0, sizeof(iwe));
-@@ -1115,7 +1115,7 @@
+- current_val = event + IW_EV_LCP_LEN;
++ current_val = event + iwe_stream_lcp_len(info);
+ iwe.cmd = SIOCGIWRATE;
+ if (bssid->length > sizeof(*bssid))
+ nrates = NDIS_MAX_RATES_EX;
+@@ -1115,26 +1131,27 @@
if (bssid->rates[i] & 0x7f) {
iwe.u.bitrate.value = ((bssid->rates[i] & 0x7f) *
500000);
- current_val = iwe_stream_add_value(event, current_val,
-+ current_val = iwe_stream_add_value(info, event, current_val,
++ current_val = iwe_stream_add_value(info, event,
++ current_val,
end_buf, &iwe,
IW_EV_PARAM_LEN);
}
-@@ -1128,13 +1128,13 @@
+ }
+
+- if ((current_val - event) > IW_EV_LCP_LEN)
++ if ((current_val - event) > iwe_stream_lcp_len(info))
+ event = current_val;
+
+ memset(&iwe, 0, sizeof(iwe));
iwe.cmd = IWEVCUSTOM;
sprintf(buf, "bcn_int=%d", bssid->config.beacon_period);
iwe.u.data.length = strlen(buf);
@@ -96,16 +123,19 @@ diff -aur driver.old/iw_ndis.c driver/iw_ndis.c
TRACE2("%d, %u", bssid->length, (unsigned int)sizeof(*bssid));
if (bssid->length > sizeof(*bssid)) {
-@@ -1155,7 +1155,7 @@
+@@ -1155,8 +1172,9 @@
memset(&iwe, 0, sizeof(iwe));
iwe.cmd = IWEVGENIE;
iwe.u.data.length = ielen;
- event = iwe_stream_add_point(event, end_buf,
-+ event = iwe_stream_add_point(info, event, end_buf,
- &iwe, iep);
+- &iwe, iep);
++ event = iwe_stream_add_point(info, event,
++ end_buf, &iwe,
++ iep);
}
iep += ielen;
-@@ -1236,7 +1236,7 @@
+ }
+@@ -1236,7 +1254,7 @@
TRACE2("%d", bssid_list->num_items);
cur_item = &bssid_list->bssid[0];
for (i = 0; i < bssid_list->num_items; i++) {
@@ -113,4 +143,4 @@ diff -aur driver.old/iw_ndis.c driver/iw_ndis.c
+ event = ndis_translate_scan(dev, info, event,
extra + IW_SCAN_MAX_DATA, cur_item);
cur_item = (struct ndis_wlan_bssid *)((char *)cur_item +
- cur_item->length);
+ cur_item->length);