~vanvugt/ubuntu/natty/bcmwl/fix-793890

« back to all changes in this revision

Viewing changes to debian/patches/0004-broadcom-sta-5.10.91.9-linux-2.6.30.patch

  • Committer: Bazaar Package Importer
  • Author(s): Alberto Milone
  • Date: 2010-02-14 19:58:58 UTC
  • mfrom: (2.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20100214195858-yw9z3vstz9kyw5jl
Tags: 5.60.48.36+bdcom-0ubuntu1
* New upstream release (LP: #432780):
  - Support up to linux kernel 2.6.31. 2.6.32 support is there
    also but not tested (although reports from users suggests it
    works fine).
  - Support for hidden networks.
  - Support for rfkill in kernels < 2.6.31.
  - Setting power level via 'iwconfig eth1 txpower X' is now
    operational
  - Add support for 4313.
  - Additional channels in both 2.4 and 5 Ghz bands.
  - Fix issue with tkip group keys that caused the following
    message to repeat often:
    TKIP: RX tkey->key_idx=2 frame keyidx=1 priv=ffff8800cf80e840
  - Fix a continuous assoc/disassoc loop (in Ubuntu 8.04)
    with suspend/resume with WPA2 and wpa_supplicant.
  - Fix bug affecting Ubuntu 8.04 which prevented from pinging when
    Linux STA is IBSS creator with WEP.
  - Fix bug affecting Ubuntu 9.04 which prevented from connecting to
    hidden networks after suspend/resume.
  - Fix bug which prevented the driver from associating to AP with
    when transitioning from AES to TKIP encryption.
* debian/patches/0002-Makefile.patch:
  - Refresh patch.
* debian/patches/0003-DEV_WL_IF.patch,
  0004-broadcom-sta-5.10.91.9-linux-2.6.30.patch,
  0005-NET_DEVICE_OPS.patch,
  0006-broadcom-sta-5.10.91.9-linux-2.6.32.patch:
  - Drop patches as they are now part of the upstream code.
* debian/dkms.conf.in:
  - Remove the lines about the above mentioned patches.
* debian/bcmwl-kernel-source.postinst:
  - Make use of /usr/lib/dkms/common.postinst (LP: #497149).
* Bump compat to 5.

Show diffs side-by-side

added added

removed removed

Lines of Context:
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
4
 
@@ -580,6 +580,7 @@
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;
9
 
 #endif 
10
 
 
11
 
        return 0;
12
 
@@ -610,7 +611,11 @@
13
 
        char *extra
14
 
 )
15
 
 {
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);
19
 
+#else
20
 
+       wl_iw_t *iw = dev->priv;
21
 
+#endif
22
 
        struct sockaddr *addr = (struct sockaddr *) extra;
23
 
        int i;
24
 
 
25
 
@@ -635,7 +640,11 @@
26
 
        char *extra
27
 
 )
28
 
 {
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);
32
 
+#else
33
 
+       wl_iw_t *iw = dev->priv;
34
 
+#endif
35
 
        struct sockaddr *addr = (struct sockaddr *) extra;
36
 
        struct iw_quality *qual = (struct iw_quality *) &addr[iw->spy_num];
37
 
        int i;
38
 
@@ -1110,7 +1119,11 @@
39
 
        char *extra
40
 
 )
41
 
 {
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);
45
 
+#else
46
 
+       wl_iw_t *iw = dev->priv;
47
 
+#endif
48
 
 
49
 
        WL_TRACE(("%s: SIOCSIWNICKN\n", dev->name));
50
 
 
51
 
@@ -1134,7 +1147,11 @@
52
 
        char *extra
53
 
 )
54
 
 {
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);
58
 
+#else
59
 
+       wl_iw_t *iw = dev->priv;
60
 
+#endif
61
 
 
62
 
        WL_TRACE(("%s: SIOCGIWNICKN\n", dev->name));
63
 
 
64
 
@@ -1790,7 +1807,11 @@
65
 
        int paramid;
66
 
        int paramval;
67
 
        int val = 0;
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);
71
 
+#else
72
 
+       wl_iw_t *iw = dev->priv;
73
 
+#endif
74
 
 
75
 
        WL_TRACE(("%s: SIOCSIWAUTH\n", dev->name));
76
 
 
77
 
@@ -1921,7 +1942,11 @@
78
 
        int paramid;
79
 
        int paramval = 0;
80
 
        int val;
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);
84
 
+#else
85
 
+       wl_iw_t *iw = dev->priv;
86
 
+#endif
87
 
 
88
 
        WL_TRACE(("%s: SIOCGIWAUTH\n", dev->name));
89
 
 
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
93
 
@@ -53,9 +53,16 @@
94
 
 #include <linux/pci_ids.h>
95
 
 #define WLC_MAXBSSCFG          1       
96
 
 
97
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
98
 
+#include <net/lib80211.h>
99
 
+#endif
100
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)
101
 
+#include <linux/ieee80211.h>
102
 
+#else
103
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14)
104
 
 #include <net/ieee80211.h>
105
 
 #endif
106
 
+#endif
107
 
 
108
 
 #include <asm/system.h>
109
 
 #include <asm/io.h>
110
 
@@ -130,7 +137,11 @@
111
 
        u8 rx_hdr[16], tx_hdr[16];
112
 
 };
113
 
 
114
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
115
 
+#define        WL_DEV_IF(dev)          ((wl_if_t*)netdev_priv(dev))
116
 
+#else
117
 
 #define        WL_DEV_IF(dev)          ((wl_if_t*)(dev)->priv)                 
118
 
+#endif
119
 
 #define        WL_INFO(dev)            ((wl_info_t*)(WL_DEV_IF(dev)->wl))      
120
 
 
121
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 20)
122
 
@@ -282,6 +293,9 @@
123
 
        dev = wlif->dev;
124
 
        wl->dev = dev;
125
 
        wl_if_setup(dev);
126
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
127
 
+       wlif = netdev_priv(dev);
128
 
+#endif
129
 
 
130
 
        dev->base_addr = regs;
131
 
 
132
 
@@ -359,10 +373,20 @@
133
 
 
134
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14)
135
 
 
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");
139
 
+#else
140
 
+       wl->tkipmodops = ieee80211_get_crypto_ops("TKIP");
141
 
+#endif
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");
147
 
+#else
148
 
                request_module("ieee80211_crypt_tkip");
149
 
                wl->tkipmodops = ieee80211_get_crypto_ops("TKIP");
150
 
+#endif
151
 
        }
152
 
 #endif 
153
 
 #ifdef CONFIG_WIRELESS_EXT
154
 
@@ -666,7 +690,11 @@
155
 
        }
156
 
 
157
 
        if (wl->monitor) {
158
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
159
 
+               wl_free_if(wl, (wl_if_t *)netdev_priv(wl->monitor));
160
 
+#else
161
 
                wl_free_if(wl, (wl_if_t *)(wl->monitor->priv));
162
 
+#endif
163
 
                wl->monitor = NULL;
164
 
        }
165
 
 
166
 
@@ -833,7 +861,10 @@
167
 
        strncpy(dev->name, name, IFNAMSIZ);
168
 
 #else
169
 
 
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);
174
 
+#endif
175
 
        if (!dev) {
176
 
                MFREE(wl->osh, wlif, sizeof(wl_if_t));
177
 
                WL_ERROR(("wl%d: wl_alloc_if: out of memory, alloc_netdev\n",
178
 
@@ -847,7 +878,9 @@
179
 
        wlif->wl = wl;
180
 
        wlif->wlcif = wlcif;
181
 
        wlif->subunit = subunit;
182
 
-       dev->priv = wlif;
183
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
184
 
+       dev->priv = wlif;
185
 
+#endif
186
 
 
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
192
 
@@ -85,7 +85,11 @@
193
 
        bool            resched;        
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;
199
 
+#else
200
 
+       struct ieee80211_crypto_ops *tkipmodops;        
201
 
+#endif
202
 
        struct ieee80211_tkip_data  *tkip_ucast_data;
203
 
        struct ieee80211_tkip_data  *tkip_bcast_data;
204
 
 #endif