summaryrefslogtreecommitdiff
path: root/package/acx-mac80211
diff options
context:
space:
mode:
Diffstat (limited to 'package/acx-mac80211')
-rw-r--r--package/acx-mac80211/Makefile4
-rw-r--r--package/acx-mac80211/patches/001-if_init_conf_removal.patch91
-rw-r--r--package/acx-mac80211/patches/002-tx_queue_stats_removal.patch67
-rw-r--r--package/acx-mac80211/patches/004-vlynq_fixes.patch47
-rw-r--r--package/acx-mac80211/patches/004-wireless-compat.patch221
-rw-r--r--package/acx-mac80211/patches/005-do_not_override_pci.patch11
-rw-r--r--package/acx-mac80211/patches/100-vlynq-fixes.patch37
7 files changed, 260 insertions, 218 deletions
diff --git a/package/acx-mac80211/Makefile b/package/acx-mac80211/Makefile
index 68369bc..88ca0bc 100644
--- a/package/acx-mac80211/Makefile
+++ b/package/acx-mac80211/Makefile
@@ -9,8 +9,8 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=acx-mac80211
-PKG_REV:=e7a55711
-PKG_VERSION:=20100302
+PKG_REV:=160e4af
+PKG_VERSION:=20100422
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
diff --git a/package/acx-mac80211/patches/001-if_init_conf_removal.patch b/package/acx-mac80211/patches/001-if_init_conf_removal.patch
deleted file mode 100644
index 29a5a62..0000000
--- a/package/acx-mac80211/patches/001-if_init_conf_removal.patch
+++ /dev/null
@@ -1,91 +0,0 @@
---- a/acx_func.h
-+++ b/acx_func.h
-@@ -704,9 +704,9 @@ int acx_setup_modes(acx_device_t *adev);
- void acx_free_modes(acx_device_t *adev);
- int acx_i_op_tx(struct ieee80211_hw *ieee, struct sk_buff *skb);
- int acx_e_op_add_interface(struct ieee80211_hw* ieee,
-- struct ieee80211_if_init_conf *conf);
-+ struct ieee80211_vif *vif);
- void acx_e_op_remove_interface(struct ieee80211_hw* ieee,
-- struct ieee80211_if_init_conf *conf);
-+ struct ieee80211_vif *vif);
- int acx_net_reset(struct ieee80211_hw *ieee);
- int acx_e_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
- struct ieee80211_vif *vif, struct ieee80211_sta *sta,
---- a/common.c
-+++ b/common.c
-@@ -4402,7 +4402,7 @@ static void acx_s_select_opmode(acx_devi
- }
-
- int acx_e_op_add_interface(struct ieee80211_hw *ieee,
-- struct ieee80211_if_init_conf *conf)
-+ struct ieee80211_vif *vif)
- {
- acx_device_t *adev = ieee2adev(ieee);
- unsigned long flags;
-@@ -4414,14 +4414,14 @@ int acx_e_op_add_interface(struct ieee80
- acx_sem_lock(adev);
- acx_lock(adev, flags);
-
-- if (conf->type == NL80211_IFTYPE_MONITOR) {
-+ if (vif->type == NL80211_IFTYPE_MONITOR) {
- adev->interface.monitor++;
- } else {
- if (adev->interface.operating)
- goto out_unlock;
- adev->interface.operating = 1;
-- adev->interface.mac_addr = conf->mac_addr;
-- adev->interface.type = conf->type;
-+ adev->interface.mac_addr = vif->addr;
-+ adev->interface.type = vif->type;
- }
- // adev->mode = conf->type;
-
-@@ -4436,8 +4436,8 @@ int acx_e_op_add_interface(struct ieee80
-
- printk(KERN_INFO "acx: Virtual interface added "
- "(type: 0x%08X, MAC: %s)\n",
-- conf->type,
-- acx_print_mac(mac, conf->mac_addr));
-+ vif->type,
-+ acx_print_mac(mac, vif->addr));
-
- out_unlock:
- acx_unlock(adev, flags);
-@@ -4448,7 +4448,7 @@ int acx_e_op_add_interface(struct ieee80
- }
-
- void acx_e_op_remove_interface(struct ieee80211_hw *hw,
-- struct ieee80211_if_init_conf *conf)
-+ struct ieee80211_vif *vif)
- {
- acx_device_t *adev = ieee2adev(hw);
-
-@@ -4457,23 +4457,23 @@ void acx_e_op_remove_interface(struct ie
- FN_ENTER;
- acx_sem_lock(adev);
-
-- if (conf->type == NL80211_IFTYPE_MONITOR) {
-+ if (vif->type == NL80211_IFTYPE_MONITOR) {
- adev->interface.monitor--;
- // assert(bcm->interface.monitor >= 0);
- } else {
- adev->interface.operating = 0;
- }
-
-- log(L_DEBUG, "acx: %s: interface.operating=%d, conf->type=%d\n",
-+ log(L_DEBUG, "acx: %s: interface.operating=%d, vif->type=%d\n",
- __func__,
-- adev->interface.operating, conf->type);
-+ adev->interface.operating, vif->type);
-
- if (adev->initialized)
- acx_s_select_opmode(adev);
-
- log(L_ANY, "acx: Virtual interface removed: "
- "type=%d, MAC=%s\n",
-- conf->type, acx_print_mac(mac, conf->mac_addr));
-+ vif->type, acx_print_mac(mac, vif->addr));
-
- acx_sem_unlock(adev);
-
diff --git a/package/acx-mac80211/patches/002-tx_queue_stats_removal.patch b/package/acx-mac80211/patches/002-tx_queue_stats_removal.patch
deleted file mode 100644
index ccf1ad3..0000000
--- a/package/acx-mac80211/patches/002-tx_queue_stats_removal.patch
+++ /dev/null
@@ -1,67 +0,0 @@
---- a/acx_func.h
-+++ b/acx_func.h
-@@ -714,7 +714,6 @@ int acx_e_op_set_key(struct ieee80211_hw
- int acx_e_op_config(struct ieee80211_hw *hw, u32 changed);
- void acx_e_op_bss_info_changed(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif, struct ieee80211_bss_conf *info, u32 changed);
--int acx_e_op_get_tx_stats(struct ieee80211_hw* ieee, struct ieee80211_tx_queue_stats *stats);
- int acx_e_conf_tx(struct ieee80211_hw* ieee, u16 queue,
- const struct ieee80211_tx_queue_params *params);
- //int acx_passive_scan(struct net_device *net_dev, int state, struct ieee80211_scan_conf *conf);
---- a/common.c
-+++ b/common.c
-@@ -4662,24 +4662,6 @@ extern void acx_e_op_bss_info_changed(st
- return;
- }
-
--int acx_e_op_get_tx_stats(struct ieee80211_hw *hw,
-- struct ieee80211_tx_queue_stats *stats)
--{
-- acx_device_t *adev = ieee2adev(hw);
-- int err = -ENODEV;
--
-- FN_ENTER;
-- acx_sem_lock(adev);
--
-- stats->len = 0;
-- stats->limit = TX_CNT;
-- stats->count = 0;
--
-- acx_sem_unlock(adev);
-- FN_EXIT0;
-- return err;
--}
--
- int acx_e_conf_tx(struct ieee80211_hw *hw,
- u16 queue, const struct ieee80211_tx_queue_params *params)
- {
---- a/mem.c
-+++ b/mem.c
-@@ -2321,7 +2321,6 @@ static const struct ieee80211_ops acxmem
- .bss_info_changed = acx_e_op_bss_info_changed,
- .set_key = acx_e_op_set_key,
- .get_stats = acx_e_op_get_stats,
-- .get_tx_stats = acx_e_op_get_tx_stats,
- };
-
-
---- a/pci.c
-+++ b/pci.c
-@@ -1482,7 +1482,6 @@ static const struct ieee80211_ops acxpci
- .bss_info_changed = acx_e_op_bss_info_changed,
- .set_key = acx_e_op_set_key,
- .get_stats = acx_e_op_get_stats,
-- .get_tx_stats = acx_e_op_get_tx_stats,
- };
-
-
---- a/usb.c
-+++ b/usb.c
-@@ -757,7 +757,6 @@ static const struct ieee80211_ops acxusb
- .bss_info_changed = acx_e_op_bss_info_changed,
- .set_key = acx_e_op_set_key,
- .get_stats = acx_e_op_get_stats,
-- .get_tx_stats = acx_e_op_get_tx_stats,
- };
-
- /***********************************************************************
diff --git a/package/acx-mac80211/patches/004-vlynq_fixes.patch b/package/acx-mac80211/patches/004-vlynq_fixes.patch
deleted file mode 100644
index 3e1a8bb..0000000
--- a/package/acx-mac80211/patches/004-vlynq_fixes.patch
+++ /dev/null
@@ -1,47 +0,0 @@
---- a/pci.c
-+++ b/pci.c
-@@ -4309,7 +4309,7 @@ static __devinit int vlynq_probe(struct
- addr = (u32)ioremap(vdev->mem_start, 0x1000);
- if (!addr) {
- printk(KERN_ERR "acx: %s: failed to remap io memory\n",
-- vdev->dev.bus_id);
-+ dev_name(&vdev->dev));
- result = -ENXIO;
- goto fail;
- }
-@@ -4323,7 +4323,7 @@ static __devinit int vlynq_probe(struct
- ieee = ieee80211_alloc_hw(sizeof(struct acx_device), &acxpci_hw_ops);
- if (!ieee) {
- printk("acx: could not allocate ieee80211 structure %s\n",
-- vdev->dev.bus_id);
-+ dev_name(&vdev->dev));
- goto fail_alloc_netdev;
- }
- ieee->flags &= ~IEEE80211_HW_RX_INCLUDES_FCS;
-@@ -4365,7 +4365,7 @@ static __devinit int vlynq_probe(struct
-
- printk("acx: found %s-based wireless network card at %s, irq:%d, "
- "phymem:0x%x, mem:0x%p\n",
-- match->name, vdev->dev.bus_id, adev->irq,
-+ match->name, dev_name(&vdev->dev), adev->irq,
- vdev->mem_start, adev->iobase);
- log(L_ANY, "acx: the initial debug setting is 0x%04X\n", acx_debug);
-
-@@ -4416,7 +4416,7 @@ static __devinit int vlynq_probe(struct
- * firmware operations happening in parallel or uninitialized data */
-
-
-- acx_proc_register_entries(ieee);
-+ acx_proc_register_entries(ieee, 0);
-
- /* Now we have our device, so make sure the kernel doesn't try
- * to send packets even though we're not associated to a network yet */
-@@ -4536,7 +4536,7 @@ static void vlynq_remove(struct vlynq_de
- CLEAR_BIT(adev->dev_state_mask, ACX_STATE_IFACE_UP);
- }
-
-- acx_proc_unregister_entries(adev->ieee);
-+ acx_proc_unregister_entries(adev->ieee, 0);
-
- /* finally, clean up PCI bus state */
- acxpci_s_delete_dma_regions(adev);
diff --git a/package/acx-mac80211/patches/004-wireless-compat.patch b/package/acx-mac80211/patches/004-wireless-compat.patch
new file mode 100644
index 0000000..33ecc4c
--- /dev/null
+++ b/package/acx-mac80211/patches/004-wireless-compat.patch
@@ -0,0 +1,221 @@
+Index: acx-mac80211-20100422/acx_func.h
+===================================================================
+--- acx-mac80211-20100422.orig/acx_func.h 2010-05-02 03:07:09.000000000 +0200
++++ acx-mac80211-20100422/acx_func.h 2010-05-02 22:03:28.309677381 +0200
+@@ -214,10 +214,6 @@
+ printk(args); \
+ } while (0)
+
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+-#define printk_ratelimited(args...) printk(args)
+-#endif
+-
+ // Log with prefix "acx: __func__
+ #define logf0(chan, msg) \
+ log(chan, "acx: %s: " msg, __func__);
+@@ -341,17 +337,10 @@
+ // BOM Mac80211 Ops (Common)
+ // -----
+
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)
+-int acx_e_op_add_interface(struct ieee80211_hw* ieee,
+- struct ieee80211_if_init_conf *conf);
+-void acx_e_op_remove_interface(struct ieee80211_hw* ieee,
+- struct ieee80211_if_init_conf *conf);
+-#else
+ int acx_e_op_add_interface(struct ieee80211_hw* ieee,
+ struct ieee80211_vif *vif);
+ void acx_e_op_remove_interface(struct ieee80211_hw* ieee,
+ struct ieee80211_vif *vif);
+-#endif
+
+ int acx_e_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
+ struct ieee80211_vif *vif, struct ieee80211_sta *sta,
+@@ -366,10 +355,6 @@
+ const struct ieee80211_tx_queue_params *params);
+ int acx_e_op_get_stats(struct ieee80211_hw *hw, struct ieee80211_low_level_stats *stats);
+
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)
+-int acx_e_op_get_tx_stats(struct ieee80211_hw* ieee, struct ieee80211_tx_queue_stats *stats);
+-#endif
+-
+ // BOM Helpers (Common)
+ // -----
+ void acx_s_mwait(int ms);
+Index: acx-mac80211-20100422/common.c
+===================================================================
+--- acx-mac80211-20100422.orig/common.c 2010-05-02 03:07:09.000000000 +0200
++++ acx-mac80211-20100422/common.c 2010-05-02 22:04:49.597801719 +0200
+@@ -4900,13 +4900,8 @@
+ * ==================================================
+ */
+
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)
+-int acx_e_op_add_interface(struct ieee80211_hw *ieee,
+- struct ieee80211_if_init_conf *conf)
+-#else
+ int acx_e_op_add_interface(struct ieee80211_hw *ieee,
+ struct ieee80211_vif *vif)
+-#endif
+ {
+ acx_device_t *adev = ieee2adev(ieee);
+ unsigned long flags;
+@@ -4918,23 +4913,14 @@
+ acx_sem_lock(adev);
+ acx_lock(adev, flags);
+
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)
+- if (conf->type == NL80211_IFTYPE_MONITOR) {
+-#else
+ if (vif->type == NL80211_IFTYPE_MONITOR) {
+-#endif
+ adev->interface.monitor++;
+ } else {
+ if (adev->interface.operating)
+ goto out_unlock;
+ adev->interface.operating = 1;
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)
+- adev->interface.mac_addr = conf->mac_addr;
+- adev->interface.type = conf->type;
+-#else
+ adev->interface.mac_addr = vif->addr;
+ adev->interface.type = vif->type;
+-#endif
+ }
+ // adev->mode = conf->type;
+
+@@ -4949,13 +4935,8 @@
+
+ printk(KERN_INFO "acx: Virtual interface added "
+ "(type: 0x%08X, MAC: %s)\n",
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)
+- conf->type,
+- acx_print_mac(mac, conf->mac_addr)
+-#else
+ vif->type,
+ acx_print_mac(mac, vif->addr)
+-#endif
+ );
+
+ out_unlock:
+@@ -4966,13 +4947,8 @@
+ return err;
+ }
+
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)
+-void acx_e_op_remove_interface(struct ieee80211_hw *hw,
+- struct ieee80211_if_init_conf *conf)
+-#else
+ void acx_e_op_remove_interface(struct ieee80211_hw *hw,
+ struct ieee80211_vif *vif)
+-#endif
+ {
+ acx_device_t *adev = ieee2adev(hw);
+
+@@ -4981,37 +4957,23 @@
+ FN_ENTER;
+ acx_sem_lock(adev);
+
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)
+- if (conf->type == NL80211_IFTYPE_MONITOR) {
+-#else
+ if (vif->type == NL80211_IFTYPE_MONITOR) {
+-#endif
+ adev->interface.monitor--;
+ // assert(bcm->interface.monitor >= 0);
+ } else {
+ adev->interface.operating = 0;
+ }
+
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)
+- log(L_DEBUG, "acx: %s: interface.operating=%d, conf->type=%d\n",
+- __func__,
+- adev->interface.operating, conf->type);
+-#else
+ log(L_DEBUG, "acx: %s: interface.operating=%d, vif->type=%d\n",
+ __func__,
+ adev->interface.operating, vif->type);
+-#endif
+
+ if (adev->initialized)
+ acx_s_select_opmode(adev);
+
+ log(L_ANY, "acx: Virtual interface removed: "
+ "type=%d, MAC=%s\n",
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)
+- conf->type, acx_print_mac(mac, conf->mac_addr)
+-#else
+ vif->type, acx_print_mac(mac, vif->addr)
+-#endif
+ );
+
+ acx_sem_unlock(adev);
+@@ -5351,26 +5313,6 @@
+ return 0;
+ }
+
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)
+-int acx_e_op_get_tx_stats(struct ieee80211_hw *hw,
+- struct ieee80211_tx_queue_stats *stats)
+-{
+- acx_device_t *adev = ieee2adev(hw);
+- int err = -ENODEV;
+-
+- FN_ENTER;
+- acx_sem_lock(adev);
+-
+- stats->len = 0;
+- stats->limit = TX_CNT;
+- stats->count = 0;
+-
+- acx_sem_unlock(adev);
+- FN_EXIT0;
+- return err;
+-}
+-#endif
+-
+ /*
+ * BOM Helpers
+ * ==================================================
+Index: acx-mac80211-20100422/mem.c
+===================================================================
+--- acx-mac80211-20100422.orig/mem.c 2010-05-02 03:07:09.000000000 +0200
++++ acx-mac80211-20100422/mem.c 2010-05-02 22:05:26.007552341 +0200
+@@ -4654,9 +4654,6 @@
+ .bss_info_changed = acx_e_op_bss_info_changed,
+ .set_key = acx_e_op_set_key,
+ .get_stats = acx_e_op_get_stats,
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)
+- .get_tx_stats = acx_e_op_get_tx_stats,
+-#endif
+ };
+
+ /*
+Index: acx-mac80211-20100422/pci.c
+===================================================================
+--- acx-mac80211-20100422.orig/pci.c 2010-05-02 03:07:09.000000000 +0200
++++ acx-mac80211-20100422/pci.c 2010-05-02 22:06:03.758564021 +0200
+@@ -3149,9 +3149,6 @@
+ .bss_info_changed = acx_e_op_bss_info_changed,
+ .set_key = acx_e_op_set_key,
+ .get_stats = acx_e_op_get_stats,
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)
+- .get_tx_stats = acx_e_op_get_tx_stats,
+-#endif
+ };
+
+
+Index: acx-mac80211-20100422/usb.c
+===================================================================
+--- acx-mac80211-20100422.orig/usb.c 2010-05-02 03:07:09.000000000 +0200
++++ acx-mac80211-20100422/usb.c 2010-05-02 22:06:22.874733862 +0200
+@@ -1444,9 +1444,6 @@
+ .bss_info_changed = acx_e_op_bss_info_changed,
+ .set_key = acx_e_op_set_key,
+ .get_stats = acx_e_op_get_stats,
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)
+- .get_tx_stats = acx_e_op_get_tx_stats,
+-#endif
+ };
+
+ /*
diff --git a/package/acx-mac80211/patches/005-do_not_override_pci.patch b/package/acx-mac80211/patches/005-do_not_override_pci.patch
deleted file mode 100644
index e21549b..0000000
--- a/package/acx-mac80211/patches/005-do_not_override_pci.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/pci.c
-+++ b/pci.c
-@@ -17,8 +17,6 @@
- */
- #define ACX_MAC80211_PCI 1
-
--#define CONFIG_PCI 1
--
- #include <linux/version.h>
-
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 33)
diff --git a/package/acx-mac80211/patches/100-vlynq-fixes.patch b/package/acx-mac80211/patches/100-vlynq-fixes.patch
new file mode 100644
index 0000000..62e0582
--- /dev/null
+++ b/package/acx-mac80211/patches/100-vlynq-fixes.patch
@@ -0,0 +1,37 @@
+Index: acx-mac80211-20100422/pci.c
+===================================================================
+--- acx-mac80211-20100422.orig/pci.c 2010-05-02 22:06:03.000000000 +0200
++++ acx-mac80211-20100422/pci.c 2010-05-02 22:10:40.963886264 +0200
+@@ -170,7 +170,7 @@
+ #endif
+
+ #ifdef CONFIG_VLYNQ
+-int vlynq_probe(struct vlynq_device *vdev, struct vlynq_device_id *id);
++static int vlynq_probe(struct vlynq_device *vdev, struct vlynq_device_id *id);
+ static void vlynq_remove(struct vlynq_device *vdev);
+ #endif
+
+@@ -4433,6 +4433,8 @@
+ goto fail_alloc_netdev;
+ }
+ ieee->flags &= ~IEEE80211_HW_RX_INCLUDES_FCS;
++ ieee->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION)
++ | BIT(NL80211_IFTYPE_ADHOC);
+ ieee->queues = 1;
+
+ adev = ieee2adev(ieee);
+Index: acx-mac80211-20100422/acx_func.h
+===================================================================
+--- acx-mac80211-20100422.orig/acx_func.h 2010-05-02 03:07:09.000000000 +0200
++++ acx-mac80211-20100422/acx_func.h 2010-05-02 22:15:55.476748737 +0200
+@@ -562,10 +562,6 @@
+
+ // Driver, Module
+
+-#ifdef CONFIG_VLYNQ
+-int vlynq_probe(struct vlynq_device *vdev, struct vlynq_device_id *id);
+-#endif
+-
+ int __init acxpci_e_init_module(void);
+ void __exit acxpci_e_cleanup_module(void);
+