diff options
Diffstat (limited to 'package/mac80211/patches/001-port-to-2.6.23.patch')
-rw-r--r-- | package/mac80211/patches/001-port-to-2.6.23.patch | 231 |
1 files changed, 231 insertions, 0 deletions
diff --git a/package/mac80211/patches/001-port-to-2.6.23.patch b/package/mac80211/patches/001-port-to-2.6.23.patch new file mode 100644 index 0000000..2e88d40 --- /dev/null +++ b/package/mac80211/patches/001-port-to-2.6.23.patch @@ -0,0 +1,231 @@ +Index: mac80211/net/mac80211/ieee80211.c +=================================================================== +--- mac80211.orig/net/mac80211/ieee80211.c 2008-02-15 22:20:53.000000000 +0100 ++++ mac80211/net/mac80211/ieee80211.c 2008-02-15 22:21:01.000000000 +0100 +@@ -21,7 +21,6 @@ + #include <linux/wireless.h> + #include <linux/rtnetlink.h> + #include <linux/bitmap.h> +-#include <net/net_namespace.h> + #include <net/cfg80211.h> + + #include "ieee80211_i.h" +@@ -36,6 +35,15 @@ + + #define SUPP_MCS_SET_LEN 16 + ++ ++char *print_mac(char *buf, const u8 *addr) ++{ ++ sprintf(buf, MAC_FMT, ++ addr[0], addr[1], addr[2], addr[3], addr[4], addr[5]); ++ return buf; ++} ++ ++ + /* + * For seeing transmitted packets on monitor interfaces + * we have a radiotap header too. +@@ -48,11 +56,13 @@ struct ieee80211_tx_status_rtap_hdr { + + /* common interface routines */ + ++#if 0 + static int header_parse_80211(const struct sk_buff *skb, unsigned char *haddr) + { + memcpy(haddr, skb_mac_header(skb) + 10, ETH_ALEN); /* addr2 */ + return ETH_ALEN; + } ++#endif + + /* must be called under mdev tx lock */ + static void ieee80211_configure_filter(struct ieee80211_local *local) +@@ -800,6 +810,7 @@ static void ieee80211_set_multicast_list + dev_mc_sync(local->mdev, dev); + } + ++#if 0 + static const struct header_ops ieee80211_header_ops = { + .create = eth_header, + .parse = header_parse_80211, +@@ -807,6 +818,7 @@ static const struct header_ops ieee80211 + .cache = eth_header_cache, + .cache_update = eth_header_cache_update, + }; ++#endif + + /* Must not be called for mdev */ + void ieee80211_if_setup(struct net_device *dev) +@@ -1455,7 +1467,7 @@ struct ieee80211_hw *ieee80211_alloc_hw( + mdev->open = ieee80211_master_open; + mdev->stop = ieee80211_master_stop; + mdev->type = ARPHRD_IEEE80211; +- mdev->header_ops = &ieee80211_header_ops; ++// mdev->header_ops = &ieee80211_header_ops; + mdev->set_multicast_list = ieee80211_master_set_multicast_list; + + sdata->vif.type = IEEE80211_IF_TYPE_AP; +Index: mac80211/net/mac80211/ieee80211_i.h +=================================================================== +--- mac80211.orig/net/mac80211/ieee80211_i.h 2008-02-15 22:20:53.000000000 +0100 ++++ mac80211/net/mac80211/ieee80211_i.h 2008-02-15 22:21:37.000000000 +0100 +@@ -26,6 +26,16 @@ + #include "ieee80211_key.h" + #include "sta_info.h" + ++ ++#define BIT(nr) (1 << (nr)) ++ ++#define MAC_FMT "%02x:%02x:%02x:%02x:%02x:%02x" ++extern char *print_mac(char *buf, const u8 *addr); ++#define DECLARE_MAC_BUF(var) char var[18] __maybe_unused ++ ++#define CONFIG_MAC80211_RC_DEFAULT __stringify(__CONFIG_MAC80211_RC_DEFAULT) ++ ++ + /* ieee80211.o internal definitions, etc. These are not included into + * low-level drivers. */ + +Index: mac80211/net/mac80211/ieee80211_ioctl.c +=================================================================== +--- mac80211.orig/net/mac80211/ieee80211_ioctl.c 2008-02-15 22:20:53.000000000 +0100 ++++ mac80211/net/mac80211/ieee80211_ioctl.c 2008-02-15 22:21:01.000000000 +0100 +@@ -207,7 +207,7 @@ static int ieee80211_ioctl_giwrange(stru + IW_EVENT_CAPA_SET(range->event_capa, SIOCGIWAP); + IW_EVENT_CAPA_SET(range->event_capa, SIOCGIWSCAN); + +- range->scan_capa |= IW_SCAN_CAPA_ESSID; ++// range->scan_capa |= IW_SCAN_CAPA_ESSID; + + return 0; + } +Index: mac80211/net/wireless/core.c +=================================================================== +--- mac80211.orig/net/wireless/core.c 2008-02-15 22:20:53.000000000 +0100 ++++ mac80211/net/wireless/core.c 2008-02-15 22:21:01.000000000 +0100 +@@ -69,7 +69,7 @@ __cfg80211_drv_from_info(struct genl_inf + + if (info->attrs[NL80211_ATTR_IFINDEX]) { + ifindex = nla_get_u32(info->attrs[NL80211_ATTR_IFINDEX]); +- dev = dev_get_by_index(&init_net, ifindex); ++ dev = dev_get_by_index(ifindex); + if (dev) { + if (dev->ieee80211_ptr) + byifidx = +@@ -120,7 +120,7 @@ cfg80211_get_dev_from_ifindex(int ifinde + struct net_device *dev; + + mutex_lock(&cfg80211_drv_mutex); +- dev = dev_get_by_index(&init_net, ifindex); ++ dev = dev_get_by_index(ifindex); + if (!dev) + goto out; + if (dev->ieee80211_ptr) { +Index: mac80211/net/wireless/nl80211.c +=================================================================== +--- mac80211.orig/net/wireless/nl80211.c 2008-02-15 22:20:53.000000000 +0100 ++++ mac80211/net/wireless/nl80211.c 2008-02-15 22:21:01.000000000 +0100 +@@ -39,7 +39,7 @@ static int get_drv_dev_by_info_ifindex(s + return -EINVAL; + + ifindex = nla_get_u32(info->attrs[NL80211_ATTR_IFINDEX]); +- *dev = dev_get_by_index(&init_net, ifindex); ++ *dev = dev_get_by_index(ifindex); + if (!*dev) + return -ENODEV; + +@@ -959,7 +959,7 @@ static int get_vlan(struct nlattr *vlana + *vlan = NULL; + + if (vlanattr) { +- *vlan = dev_get_by_index(&init_net, nla_get_u32(vlanattr)); ++ *vlan = dev_get_by_index(nla_get_u32(vlanattr)); + if (!*vlan) + return -ENODEV; + if (!(*vlan)->ieee80211_ptr) +Index: mac80211/net/mac80211/cfg.c +=================================================================== +--- mac80211.orig/net/mac80211/cfg.c 2008-02-15 22:20:53.000000000 +0100 ++++ mac80211/net/mac80211/cfg.c 2008-02-15 22:21:01.000000000 +0100 +@@ -9,7 +9,6 @@ + #include <linux/ieee80211.h> + #include <linux/nl80211.h> + #include <linux/rtnetlink.h> +-#include <net/net_namespace.h> + #include <linux/rcupdate.h> + #include <net/cfg80211.h> + #include "ieee80211_i.h" +@@ -68,7 +67,7 @@ static int ieee80211_del_iface(struct wi + return -ENODEV; + + /* we're under RTNL */ +- dev = __dev_get_by_index(&init_net, ifindex); ++ dev = __dev_get_by_index(ifindex); + if (!dev) + return 0; + +@@ -89,7 +88,7 @@ static int ieee80211_change_iface(struct + return -ENODEV; + + /* we're under RTNL */ +- dev = __dev_get_by_index(&init_net, ifindex); ++ dev = __dev_get_by_index(ifindex); + if (!dev) + return -ENODEV; + +Index: mac80211/net/mac80211/tx.c +=================================================================== +--- mac80211.orig/net/mac80211/tx.c 2008-02-15 22:20:53.000000000 +0100 ++++ mac80211/net/mac80211/tx.c 2008-02-15 22:21:01.000000000 +0100 +@@ -18,7 +18,6 @@ + #include <linux/etherdevice.h> + #include <linux/bitmap.h> + #include <linux/rcupdate.h> +-#include <net/net_namespace.h> + #include <net/ieee80211_radiotap.h> + #include <net/cfg80211.h> + #include <net/mac80211.h> +@@ -1051,7 +1050,7 @@ static int ieee80211_tx_prepare(struct i + struct net_device *dev; + + pkt_data = (struct ieee80211_tx_packet_data *)skb->cb; +- dev = dev_get_by_index(&init_net, pkt_data->ifindex); ++ dev = dev_get_by_index(pkt_data->ifindex); + if (unlikely(dev && !is_ieee80211_device(dev, mdev))) { + dev_put(dev); + dev = NULL; +@@ -1265,7 +1264,7 @@ int ieee80211_master_start_xmit(struct s + memset(&control, 0, sizeof(struct ieee80211_tx_control)); + + if (pkt_data->ifindex) +- odev = dev_get_by_index(&init_net, pkt_data->ifindex); ++ odev = dev_get_by_index(pkt_data->ifindex); + if (unlikely(odev && !is_ieee80211_device(odev, dev))) { + dev_put(odev); + odev = NULL; +Index: mac80211/net/mac80211/util.c +=================================================================== +--- mac80211.orig/net/mac80211/util.c 2008-02-15 22:20:53.000000000 +0100 ++++ mac80211/net/mac80211/util.c 2008-02-15 22:21:01.000000000 +0100 +@@ -20,7 +20,6 @@ + #include <linux/if_arp.h> + #include <linux/wireless.h> + #include <linux/bitmap.h> +-#include <net/net_namespace.h> + #include <net/cfg80211.h> + #include <net/rtnetlink.h> + +Index: mac80211/net/wireless/sysfs.c +=================================================================== +--- mac80211.orig/net/wireless/sysfs.c 2008-02-15 22:20:53.000000000 +0100 ++++ mac80211/net/wireless/sysfs.c 2008-02-15 22:21:01.000000000 +0100 +@@ -53,7 +53,8 @@ static void wiphy_dev_release(struct dev + } + + #ifdef CONFIG_HOTPLUG +-static int wiphy_uevent(struct device *dev, struct kobj_uevent_env *env) ++static int wiphy_uevent(struct device *dev, char **envp, int num_envp, ++ char *buffer, int buffer_size) + { + /* TODO, we probably need stuff here */ + return 0; |