update acx-mac80211 to 20100422, patch from Bernhard Loos

SVN-Revision: 21335
master
Florian Fainelli 15 years ago
parent 20da5f495f
commit 00e8846c96
  1. 4
      package/acx-mac80211/Makefile
  2. 91
      package/acx-mac80211/patches/001-if_init_conf_removal.patch
  3. 67
      package/acx-mac80211/patches/002-tx_queue_stats_removal.patch
  4. 47
      package/acx-mac80211/patches/004-vlynq_fixes.patch
  5. 221
      package/acx-mac80211/patches/004-wireless-compat.patch
  6. 11
      package/acx-mac80211/patches/005-do_not_override_pci.patch
  7. 37
      package/acx-mac80211/patches/100-vlynq-fixes.patch

@ -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

@ -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);

@ -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,
};
/***********************************************************************

@ -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);

@ -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
};
/*

@ -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)

@ -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);
Loading…
Cancel
Save