1
diff -ur hybrid-portsrc-x86_64-v5_10_91_9/src/wl/sys/wl_iw.c wl/src/wl/sys/wl_iw.c
2
--- hybrid-portsrc-x86_64-v5_10_91_9/src/wl/sys/wl_iw.c 2009-04-22 12:51:58.000000000 -0500
3
+++ wl/src/wl/sys/wl_iw.c 2009-05-10 12:09:16.000000000 -0500
5
range->enc_capa |= IW_ENC_CAPA_CIPHER_TKIP;
6
range->enc_capa |= IW_ENC_CAPA_CIPHER_CCMP;
7
range->enc_capa |= IW_ENC_CAPA_WPA2;
8
+ range->scan_capa = IW_SCAN_CAPA_ESSID;
16
- wl_iw_t *iw = dev->priv;
17
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
18
+ wl_iw_t *iw = netdev_priv(dev);
20
+ wl_iw_t *iw = dev->priv;
22
struct sockaddr *addr = (struct sockaddr *) extra;
29
- wl_iw_t *iw = dev->priv;
30
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
31
+ wl_iw_t *iw = netdev_priv(dev);
33
+ wl_iw_t *iw = dev->priv;
35
struct sockaddr *addr = (struct sockaddr *) extra;
36
struct iw_quality *qual = (struct iw_quality *) &addr[iw->spy_num];
38
@@ -1110,7 +1119,11 @@
42
- wl_iw_t *iw = dev->priv;
43
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
44
+ wl_iw_t *iw = netdev_priv(dev);
46
+ wl_iw_t *iw = dev->priv;
49
WL_TRACE(("%s: SIOCSIWNICKN\n", dev->name));
51
@@ -1134,7 +1147,11 @@
55
- wl_iw_t *iw = dev->priv;
56
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
57
+ wl_iw_t *iw = netdev_priv(dev);
59
+ wl_iw_t *iw = dev->priv;
62
WL_TRACE(("%s: SIOCGIWNICKN\n", dev->name));
64
@@ -1790,7 +1807,11 @@
68
- wl_iw_t *iw = dev->priv;
69
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
70
+ wl_iw_t *iw = netdev_priv(dev);
72
+ wl_iw_t *iw = dev->priv;
75
WL_TRACE(("%s: SIOCSIWAUTH\n", dev->name));
77
@@ -1921,7 +1942,11 @@
81
- wl_iw_t *iw = dev->priv;
82
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
83
+ wl_iw_t *iw = netdev_priv(dev);
85
+ wl_iw_t *iw = dev->priv;
88
WL_TRACE(("%s: SIOCGIWAUTH\n", dev->name));
90
diff -ur hybrid-portsrc-x86_64-v5_10_91_9/src/wl/sys/wl_linux.c wl/src/wl/sys/wl_linux.c
91
--- hybrid-portsrc-x86_64-v5_10_91_9/src/wl/sys/wl_linux.c 2009-04-22 12:52:08.000000000 -0500
92
+++ wl/src/wl/sys/wl_linux.c 2009-05-10 12:17:09.507872441 -0500
94
#include <linux/pci_ids.h>
95
#define WLC_MAXBSSCFG 1
97
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
98
+#include <net/lib80211.h>
100
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)
101
+#include <linux/ieee80211.h>
103
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14)
104
#include <net/ieee80211.h>
108
#include <asm/system.h>
111
u8 rx_hdr[16], tx_hdr[16];
114
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
115
+#define WL_DEV_IF(dev) ((wl_if_t*)netdev_priv(dev))
117
#define WL_DEV_IF(dev) ((wl_if_t*)(dev)->priv)
119
#define WL_INFO(dev) ((wl_info_t*)(WL_DEV_IF(dev)->wl))
121
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 20)
126
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
127
+ wlif = netdev_priv(dev);
130
dev->base_addr = regs;
132
@@ -359,10 +373,20 @@
134
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14)
136
- wl->tkipmodops = ieee80211_get_crypto_ops("TKIP");
137
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
138
+ wl->tkipmodops = lib80211_get_crypto_ops("TKIP");
140
+ wl->tkipmodops = ieee80211_get_crypto_ops("TKIP");
142
if (wl->tkipmodops == NULL) {
143
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
144
+ request_module("lib80211");
145
+ request_module("lib80211_crypt_tkip");
146
+ wl->tkipmodops = lib80211_get_crypto_ops("TKIP");
148
request_module("ieee80211_crypt_tkip");
149
wl->tkipmodops = ieee80211_get_crypto_ops("TKIP");
153
#ifdef CONFIG_WIRELESS_EXT
158
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
159
+ wl_free_if(wl, (wl_if_t *)netdev_priv(wl->monitor));
161
wl_free_if(wl, (wl_if_t *)(wl->monitor->priv));
167
strncpy(dev->name, name, IFNAMSIZ);
170
- dev = alloc_netdev(0, name, ether_setup);
171
+ dev = alloc_netdev(sizeof(wl_if_t), name, ether_setup);
172
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
173
+ wlif = netdev_priv(dev);
176
MFREE(wl->osh, wlif, sizeof(wl_if_t));
177
WL_ERROR(("wl%d: wl_alloc_if: out of memory, alloc_netdev\n",
181
wlif->subunit = subunit;
183
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
187
if (iftype != WL_IFTYPE_MON && wl->dev && netif_queue_stopped(wl->dev))
188
netif_stop_queue(dev);
189
diff -ur hybrid-portsrc-x86_64-v5_10_91_9/src/wl/sys/wl_linux.h wl/src/wl/sys/wl_linux.h
190
--- hybrid-portsrc-x86_64-v5_10_91_9/src/wl/sys/wl_linux.h 2009-04-22 12:52:13.000000000 -0500
191
+++ wl/src/wl/sys/wl_linux.h 2009-05-10 12:11:17.000000000 -0500
194
uint32 pci_psstate[16];
195
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14)
196
- struct ieee80211_crypto_ops *tkipmodops;
197
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
198
+ struct lib80211_crypto_ops *tkipmodops;
200
+ struct ieee80211_crypto_ops *tkipmodops;
202
struct ieee80211_tkip_data *tkip_ucast_data;
203
struct ieee80211_tkip_data *tkip_bcast_data;