Upgrade b43 and mac80211.
[openwrt/staging/lynxis/omap.git] / package / mac80211 / patches / 001-port-to-2.6.23.patch
1 Index: mac80211/net/mac80211/ieee80211.c
2 ===================================================================
3 --- mac80211.orig/net/mac80211/ieee80211.c 2008-02-15 22:20:53.000000000 +0100
4 +++ mac80211/net/mac80211/ieee80211.c 2008-02-15 22:21:01.000000000 +0100
5 @@ -21,7 +21,6 @@
6 #include <linux/wireless.h>
7 #include <linux/rtnetlink.h>
8 #include <linux/bitmap.h>
9 -#include <net/net_namespace.h>
10 #include <net/cfg80211.h>
11
12 #include "ieee80211_i.h"
13 @@ -36,6 +35,15 @@
14
15 #define SUPP_MCS_SET_LEN 16
16
17 +
18 +char *print_mac(char *buf, const u8 *addr)
19 +{
20 + sprintf(buf, MAC_FMT,
21 + addr[0], addr[1], addr[2], addr[3], addr[4], addr[5]);
22 + return buf;
23 +}
24 +
25 +
26 /*
27 * For seeing transmitted packets on monitor interfaces
28 * we have a radiotap header too.
29 @@ -48,11 +56,13 @@ struct ieee80211_tx_status_rtap_hdr {
30
31 /* common interface routines */
32
33 +#if 0
34 static int header_parse_80211(const struct sk_buff *skb, unsigned char *haddr)
35 {
36 memcpy(haddr, skb_mac_header(skb) + 10, ETH_ALEN); /* addr2 */
37 return ETH_ALEN;
38 }
39 +#endif
40
41 /* must be called under mdev tx lock */
42 static void ieee80211_configure_filter(struct ieee80211_local *local)
43 @@ -800,6 +810,7 @@ static void ieee80211_set_multicast_list
44 dev_mc_sync(local->mdev, dev);
45 }
46
47 +#if 0
48 static const struct header_ops ieee80211_header_ops = {
49 .create = eth_header,
50 .parse = header_parse_80211,
51 @@ -807,6 +818,7 @@ static const struct header_ops ieee80211
52 .cache = eth_header_cache,
53 .cache_update = eth_header_cache_update,
54 };
55 +#endif
56
57 /* Must not be called for mdev */
58 void ieee80211_if_setup(struct net_device *dev)
59 @@ -1455,7 +1467,7 @@ struct ieee80211_hw *ieee80211_alloc_hw(
60 mdev->open = ieee80211_master_open;
61 mdev->stop = ieee80211_master_stop;
62 mdev->type = ARPHRD_IEEE80211;
63 - mdev->header_ops = &ieee80211_header_ops;
64 +// mdev->header_ops = &ieee80211_header_ops;
65 mdev->set_multicast_list = ieee80211_master_set_multicast_list;
66
67 sdata->vif.type = IEEE80211_IF_TYPE_AP;
68 Index: mac80211/net/mac80211/ieee80211_i.h
69 ===================================================================
70 --- mac80211.orig/net/mac80211/ieee80211_i.h 2008-02-15 22:20:53.000000000 +0100
71 +++ mac80211/net/mac80211/ieee80211_i.h 2008-02-15 22:21:37.000000000 +0100
72 @@ -26,6 +26,16 @@
73 #include "ieee80211_key.h"
74 #include "sta_info.h"
75
76 +
77 +#define BIT(nr) (1 << (nr))
78 +
79 +#define MAC_FMT "%02x:%02x:%02x:%02x:%02x:%02x"
80 +extern char *print_mac(char *buf, const u8 *addr);
81 +#define DECLARE_MAC_BUF(var) char var[18] __maybe_unused
82 +
83 +#define CONFIG_MAC80211_RC_DEFAULT __stringify(__CONFIG_MAC80211_RC_DEFAULT)
84 +
85 +
86 /* ieee80211.o internal definitions, etc. These are not included into
87 * low-level drivers. */
88
89 Index: mac80211/net/mac80211/ieee80211_ioctl.c
90 ===================================================================
91 --- mac80211.orig/net/mac80211/ieee80211_ioctl.c 2008-02-15 22:20:53.000000000 +0100
92 +++ mac80211/net/mac80211/ieee80211_ioctl.c 2008-02-15 22:21:01.000000000 +0100
93 @@ -207,7 +207,7 @@ static int ieee80211_ioctl_giwrange(stru
94 IW_EVENT_CAPA_SET(range->event_capa, SIOCGIWAP);
95 IW_EVENT_CAPA_SET(range->event_capa, SIOCGIWSCAN);
96
97 - range->scan_capa |= IW_SCAN_CAPA_ESSID;
98 +// range->scan_capa |= IW_SCAN_CAPA_ESSID;
99
100 return 0;
101 }
102 Index: mac80211/net/wireless/core.c
103 ===================================================================
104 --- mac80211.orig/net/wireless/core.c 2008-02-15 22:20:53.000000000 +0100
105 +++ mac80211/net/wireless/core.c 2008-02-15 22:21:01.000000000 +0100
106 @@ -69,7 +69,7 @@ __cfg80211_drv_from_info(struct genl_inf
107
108 if (info->attrs[NL80211_ATTR_IFINDEX]) {
109 ifindex = nla_get_u32(info->attrs[NL80211_ATTR_IFINDEX]);
110 - dev = dev_get_by_index(&init_net, ifindex);
111 + dev = dev_get_by_index(ifindex);
112 if (dev) {
113 if (dev->ieee80211_ptr)
114 byifidx =
115 @@ -120,7 +120,7 @@ cfg80211_get_dev_from_ifindex(int ifinde
116 struct net_device *dev;
117
118 mutex_lock(&cfg80211_drv_mutex);
119 - dev = dev_get_by_index(&init_net, ifindex);
120 + dev = dev_get_by_index(ifindex);
121 if (!dev)
122 goto out;
123 if (dev->ieee80211_ptr) {
124 Index: mac80211/net/wireless/nl80211.c
125 ===================================================================
126 --- mac80211.orig/net/wireless/nl80211.c 2008-02-15 22:20:53.000000000 +0100
127 +++ mac80211/net/wireless/nl80211.c 2008-02-15 22:21:01.000000000 +0100
128 @@ -39,7 +39,7 @@ static int get_drv_dev_by_info_ifindex(s
129 return -EINVAL;
130
131 ifindex = nla_get_u32(info->attrs[NL80211_ATTR_IFINDEX]);
132 - *dev = dev_get_by_index(&init_net, ifindex);
133 + *dev = dev_get_by_index(ifindex);
134 if (!*dev)
135 return -ENODEV;
136
137 @@ -959,7 +959,7 @@ static int get_vlan(struct nlattr *vlana
138 *vlan = NULL;
139
140 if (vlanattr) {
141 - *vlan = dev_get_by_index(&init_net, nla_get_u32(vlanattr));
142 + *vlan = dev_get_by_index(nla_get_u32(vlanattr));
143 if (!*vlan)
144 return -ENODEV;
145 if (!(*vlan)->ieee80211_ptr)
146 Index: mac80211/net/mac80211/cfg.c
147 ===================================================================
148 --- mac80211.orig/net/mac80211/cfg.c 2008-02-15 22:20:53.000000000 +0100
149 +++ mac80211/net/mac80211/cfg.c 2008-02-15 22:21:01.000000000 +0100
150 @@ -9,7 +9,6 @@
151 #include <linux/ieee80211.h>
152 #include <linux/nl80211.h>
153 #include <linux/rtnetlink.h>
154 -#include <net/net_namespace.h>
155 #include <linux/rcupdate.h>
156 #include <net/cfg80211.h>
157 #include "ieee80211_i.h"
158 @@ -68,7 +67,7 @@ static int ieee80211_del_iface(struct wi
159 return -ENODEV;
160
161 /* we're under RTNL */
162 - dev = __dev_get_by_index(&init_net, ifindex);
163 + dev = __dev_get_by_index(ifindex);
164 if (!dev)
165 return 0;
166
167 @@ -89,7 +88,7 @@ static int ieee80211_change_iface(struct
168 return -ENODEV;
169
170 /* we're under RTNL */
171 - dev = __dev_get_by_index(&init_net, ifindex);
172 + dev = __dev_get_by_index(ifindex);
173 if (!dev)
174 return -ENODEV;
175
176 Index: mac80211/net/mac80211/tx.c
177 ===================================================================
178 --- mac80211.orig/net/mac80211/tx.c 2008-02-15 22:20:53.000000000 +0100
179 +++ mac80211/net/mac80211/tx.c 2008-02-15 22:21:01.000000000 +0100
180 @@ -18,7 +18,6 @@
181 #include <linux/etherdevice.h>
182 #include <linux/bitmap.h>
183 #include <linux/rcupdate.h>
184 -#include <net/net_namespace.h>
185 #include <net/ieee80211_radiotap.h>
186 #include <net/cfg80211.h>
187 #include <net/mac80211.h>
188 @@ -1051,7 +1050,7 @@ static int ieee80211_tx_prepare(struct i
189 struct net_device *dev;
190
191 pkt_data = (struct ieee80211_tx_packet_data *)skb->cb;
192 - dev = dev_get_by_index(&init_net, pkt_data->ifindex);
193 + dev = dev_get_by_index(pkt_data->ifindex);
194 if (unlikely(dev && !is_ieee80211_device(dev, mdev))) {
195 dev_put(dev);
196 dev = NULL;
197 @@ -1265,7 +1264,7 @@ int ieee80211_master_start_xmit(struct s
198 memset(&control, 0, sizeof(struct ieee80211_tx_control));
199
200 if (pkt_data->ifindex)
201 - odev = dev_get_by_index(&init_net, pkt_data->ifindex);
202 + odev = dev_get_by_index(pkt_data->ifindex);
203 if (unlikely(odev && !is_ieee80211_device(odev, dev))) {
204 dev_put(odev);
205 odev = NULL;
206 Index: mac80211/net/mac80211/util.c
207 ===================================================================
208 --- mac80211.orig/net/mac80211/util.c 2008-02-15 22:20:53.000000000 +0100
209 +++ mac80211/net/mac80211/util.c 2008-02-15 22:21:01.000000000 +0100
210 @@ -20,7 +20,6 @@
211 #include <linux/if_arp.h>
212 #include <linux/wireless.h>
213 #include <linux/bitmap.h>
214 -#include <net/net_namespace.h>
215 #include <net/cfg80211.h>
216 #include <net/rtnetlink.h>
217
218 Index: mac80211/net/wireless/sysfs.c
219 ===================================================================
220 --- mac80211.orig/net/wireless/sysfs.c 2008-02-15 22:20:53.000000000 +0100
221 +++ mac80211/net/wireless/sysfs.c 2008-02-15 22:21:01.000000000 +0100
222 @@ -53,7 +53,8 @@ static void wiphy_dev_release(struct dev
223 }
224
225 #ifdef CONFIG_HOTPLUG
226 -static int wiphy_uevent(struct device *dev, struct kobj_uevent_env *env)
227 +static int wiphy_uevent(struct device *dev, char **envp, int num_envp,
228 + char *buffer, int buffer_size)
229 {
230 /* TODO, we probably need stuff here */
231 return 0;