update acx-mac80211 to 20100422, patch from Bernhard Loos
authorFlorian Fainelli <florian@openwrt.org>
Mon, 3 May 2010 09:05:39 +0000 (09:05 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Mon, 3 May 2010 09:05:39 +0000 (09:05 +0000)
SVN-Revision: 21335

package/acx-mac80211/Makefile
package/acx-mac80211/patches/001-if_init_conf_removal.patch [deleted file]
package/acx-mac80211/patches/002-tx_queue_stats_removal.patch [deleted file]
package/acx-mac80211/patches/004-vlynq_fixes.patch [deleted file]
package/acx-mac80211/patches/004-wireless-compat.patch [new file with mode: 0644]
package/acx-mac80211/patches/005-do_not_override_pci.patch [deleted file]
package/acx-mac80211/patches/100-vlynq-fixes.patch [new file with mode: 0644]

index 68369bc96bec211017c0295bef4e7d92023b8494..88ca0bcd8cb932b7431475cb7291b8abbc9d741d 100644 (file)
@@ -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 (file)
index 29a5a62..0000000
+++ /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 (file)
index ccf1ad3..0000000
+++ /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 (file)
index 3e1a8bb..0000000
+++ /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 (file)
index 0000000..33ecc4c
--- /dev/null
@@ -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 (file)
index e21549b..0000000
+++ /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 (file)
index 0000000..62e0582
--- /dev/null
@@ -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);