aboutsummaryrefslogtreecommitdiffstats
path: root/package/acx-mac80211/patches
diff options
context:
space:
mode:
Diffstat (limited to 'package/acx-mac80211/patches')
-rw-r--r--package/acx-mac80211/patches/001-build_module.diff11
-rw-r--r--package/acx-mac80211/patches/001-if_init_conf_removal.patch95
-rw-r--r--package/acx-mac80211/patches/002-rate_definitions.patch105
-rw-r--r--package/acx-mac80211/patches/002-tx_queue_stats_removal.patch77
-rw-r--r--package/acx-mac80211/patches/003-if_types.patch91
-rw-r--r--package/acx-mac80211/patches/004-acx_config_interface_type.patch91
-rw-r--r--package/acx-mac80211/patches/005-pci_fixes.patch70
7 files changed, 172 insertions, 368 deletions
diff --git a/package/acx-mac80211/patches/001-build_module.diff b/package/acx-mac80211/patches/001-build_module.diff
deleted file mode 100644
index ee4a8d4c89..0000000000
--- a/package/acx-mac80211/patches/001-build_module.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -28,7 +28,7 @@ ifneq ($(KERNELRELEASE),)
- obj-$(CONFIG_ACX_MAC80211) += acx-mac80211.o
- acx-mac80211-obj-$(CONFIG_ACX_MAC80211_PCI) += pci.o
- acx-mac80211-obj-$(CONFIG_ACX_MAC80211_USB) += usb.o
-- acx-mac80211-objs := common.o $(acx-mac80211-obj-y)
-+ acx-mac80211-objs := common.o $(acx-mac80211-obj-m)
- else
- # Otherwise we were called directly from the command line: the the kernel build
- # system must be explicitly invoked.
diff --git a/package/acx-mac80211/patches/001-if_init_conf_removal.patch b/package/acx-mac80211/patches/001-if_init_conf_removal.patch
new file mode 100644
index 0000000000..2e9bc18a16
--- /dev/null
+++ b/package/acx-mac80211/patches/001-if_init_conf_removal.patch
@@ -0,0 +1,95 @@
+Index: acx-mac80211-20100302/acx_func.h
+===================================================================
+--- acx-mac80211-20100302.orig/acx_func.h 2010-03-06 12:57:25.000000000 +0100
++++ acx-mac80211-20100302/acx_func.h 2010-03-06 12:58:10.000000000 +0100
+@@ -704,9 +704,9 @@
+ 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,
+Index: acx-mac80211-20100302/common.c
+===================================================================
+--- acx-mac80211-20100302.orig/common.c 2010-03-06 12:57:31.000000000 +0100
++++ acx-mac80211-20100302/common.c 2010-03-06 12:59:51.000000000 +0100
+@@ -4402,7 +4402,7 @@
+ }
+
+ 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 @@
+ 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 @@
+
+ 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 @@
+ }
+
+ 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 @@
+ 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-rate_definitions.patch b/package/acx-mac80211/patches/002-rate_definitions.patch
deleted file mode 100644
index 7c9dc459e0..0000000000
--- a/package/acx-mac80211/patches/002-rate_definitions.patch
+++ /dev/null
@@ -1,105 +0,0 @@
---- a/common.c
-+++ b/common.c
-@@ -1452,60 +1452,66 @@ void acx_free_modes(acx_device_t * adev)
- // adev->modes = NULL;
- }
-
--/*
--#define RATETAB_ENT(_rate, _rateid, _flags) \
-- { \
-- .rate = (_rate), \
-- .val = (_rateid), \
-- .val2 = (_rateid), \
-- .flags = (_flags), \
-- }
--*/
--
- static struct ieee80211_rate acx_rates[] = {
- { .bitrate = 10, .hw_value = 0, .flags = IEEE80211_RATE_SHORT_PREAMBLE },
- { .bitrate = 20, .hw_value = 1, .flags = IEEE80211_RATE_SHORT_PREAMBLE },
- { .bitrate = 55, .hw_value = 2, .flags = IEEE80211_RATE_SHORT_PREAMBLE },
- { .bitrate = 110, .hw_value = 3, .flags = IEEE80211_RATE_SHORT_PREAMBLE },
-- { .bitrate = 60, .hw_value = 4, },
-- { .bitrate = 90, .hw_value = 5, },
-- { .bitrate = 120, .hw_value = 6, },
-- { .bitrate = 180, .hw_value = 7, },
-- { .bitrate = 240, .hw_value = 8, },
-- { .bitrate = 360, .hw_value = 9, },
-- { .bitrate = 480, .hw_value = 10, },
-- { .bitrate = 540, .hw_value = 11, },
-+ { .bitrate = 60, .hw_value = 4, .flags = 0 },
-+ { .bitrate = 90, .hw_value = 5, .flags = 0 },
-+ { .bitrate = 120, .hw_value = 6, .flags = 0 },
-+ { .bitrate = 180, .hw_value = 7, .flags = 0 },
-+ { .bitrate = 240, .hw_value = 8, .flags = 0 },
-+ { .bitrate = 360, .hw_value = 9, .flags = 0 },
-+ { .bitrate = 480, .hw_value = 10, .flags = 0 },
-+ { .bitrate = 540, .hw_value = 11, .flags = 0 },
- };
-
-+#define CHAN4G(_channel, _freq, _flags) { \
-+ .band = IEEE80211_BAND_2GHZ, \
-+ .center_freq = (_freq), \
-+ .hw_value = (_channel), \
-+ .flags = (_flags), \
-+ .max_antenna_gain = 0, \
-+ .max_power = 30, \
-+}
- static struct ieee80211_channel channels[] = {
-- { .center_freq = 2412, .hw_value = 1, },
-- { .center_freq = 2417, .hw_value = 2, },
-- { .center_freq = 2422, .hw_value = 3, },
-- { .center_freq = 2427, .hw_value = 4, },
-- { .center_freq = 2432, .hw_value = 5, },
-- { .center_freq = 2437, .hw_value = 6, },
-- { .center_freq = 2442, .hw_value = 7, },
-- { .center_freq = 2447, .hw_value = 8, },
-- { .center_freq = 2452, .hw_value = 9, },
-- { .center_freq = 2457, .hw_value = 10, },
-- { .center_freq = 2462, .hw_value = 11, },
-- { .center_freq = 2467, .hw_value = 12, },
-- { .center_freq = 2472, .hw_value = 13, },
-- { .center_freq = 2484, .hw_value = 14, },
-+ CHAN4G(1, 2412, 0),
-+ CHAN4G(2, 2417, 0),
-+ CHAN4G(3, 2422, 0),
-+ CHAN4G(4, 2427, 0),
-+ CHAN4G(5, 2432, 0),
-+ CHAN4G(6, 2437, 0),
-+ CHAN4G(7, 2442, 0),
-+ CHAN4G(8, 2447, 0),
-+ CHAN4G(9, 2452, 0),
-+ CHAN4G(10, 2457, 0),
-+ CHAN4G(11, 2462, 0),
-+ CHAN4G(12, 2467, 0),
-+ CHAN4G(13, 2472, 0),
-+ CHAN4G(14, 2484, 0),
- };
-+#undef CHAN4G
-+
-+#define acx_b_ratetable (acx_rates + 0)
-+#define acx_b_ratetable_size 4
-+#define acx_g_ratetable (acx_rates + 0)
-+#define acx_g_ratetable_size 12
-
- static struct ieee80211_supported_band g_band_2GHz = {
-+ .band = IEEE80211_BAND_2GHZ,
- .channels = channels,
- .n_channels = ARRAY_SIZE(channels),
-- .bitrates = acx_rates,
-- .n_bitrates = 12,
-+ .bitrates = acx_b_ratetable,
-+ .n_bitrates = acx_g_ratetable_size,
- };
-
- static struct ieee80211_supported_band b_band_2GHz = {
-+ .band = IEEE80211_BAND_2GHZ,
- .channels = channels,
- .n_channels = ARRAY_SIZE(channels),
-- .bitrates = acx_rates,
-- .n_bitrates = 4,
-+ .bitrates = acx_g_ratetable,
-+ .n_bitrates = acx_b_ratetable_size,
- };
-
- int acx_setup_modes(acx_device_t * 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
new file mode 100644
index 0000000000..907b3596fe
--- /dev/null
+++ b/package/acx-mac80211/patches/002-tx_queue_stats_removal.patch
@@ -0,0 +1,77 @@
+Index: acx-mac80211-20100302/acx_func.h
+===================================================================
+--- acx-mac80211-20100302.orig/acx_func.h 2010-03-06 13:01:36.000000000 +0100
++++ acx-mac80211-20100302/acx_func.h 2010-03-06 13:01:56.000000000 +0100
+@@ -714,7 +714,6 @@
+ 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);
+Index: acx-mac80211-20100302/common.c
+===================================================================
+--- acx-mac80211-20100302.orig/common.c 2010-03-06 13:01:38.000000000 +0100
++++ acx-mac80211-20100302/common.c 2010-03-06 13:02:37.000000000 +0100
+@@ -4662,24 +4662,6 @@
+ 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)
+ {
+Index: acx-mac80211-20100302/mem.c
+===================================================================
+--- acx-mac80211-20100302.orig/mem.c 2010-03-06 13:01:46.000000000 +0100
++++ acx-mac80211-20100302/mem.c 2010-03-06 13:02:28.000000000 +0100
+@@ -2321,7 +2321,6 @@
+ .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,
+ };
+
+
+Index: acx-mac80211-20100302/pci.c
+===================================================================
+--- acx-mac80211-20100302.orig/pci.c 2010-03-06 13:01:40.000000000 +0100
++++ acx-mac80211-20100302/pci.c 2010-03-06 13:02:18.000000000 +0100
+@@ -1482,7 +1482,6 @@
+ .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,
+ };
+
+
+Index: acx-mac80211-20100302/usb.c
+===================================================================
+--- acx-mac80211-20100302.orig/usb.c 2010-03-06 13:01:44.000000000 +0100
++++ acx-mac80211-20100302/usb.c 2010-03-06 13:02:22.000000000 +0100
+@@ -757,7 +757,6 @@
+ .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/003-if_types.patch b/package/acx-mac80211/patches/003-if_types.patch
deleted file mode 100644
index 27f6ac6944..0000000000
--- a/package/acx-mac80211/patches/003-if_types.patch
+++ /dev/null
@@ -1,91 +0,0 @@
---- a/acx_mac80211.h
-+++ b/acx_mac80211.h
-@@ -36,7 +36,7 @@ struct acx_interface {
- /* Current BSSID (if any). */
- u8 *bssid;
-
-- /* Interface type. (IEEE80211_IF_TYPE_XXX) */
-+ /* Interface type. (NL80211_IFTYPE_XXX) */
- int type;
- /* Counter of active monitor interfaces. */
- int monitor;
---- a/common.c
-+++ b/common.c
-@@ -4111,28 +4111,28 @@ static void acx_s_select_opmode(acx_devi
-
- if (adev->interface.operating) {
- switch (adev->interface.type) {
-- case IEEE80211_IF_TYPE_AP:
-+ case NL80211_IFTYPE_AP:
- if (adev->mode != ACX_MODE_3_AP)
- {
- adev->mode = ACX_MODE_3_AP;
- changed = 1;
- }
- break;
-- case IEEE80211_IF_TYPE_IBSS:
-+ case NL80211_IFTYPE_ADHOC:
- if (adev->mode != ACX_MODE_0_ADHOC)
- {
- adev->mode = ACX_MODE_0_ADHOC;
- changed = 1;
- }
- break;
-- case IEEE80211_IF_TYPE_STA:
-+ case NL80211_IFTYPE_STATION:
- if (adev->mode != ACX_MODE_2_STA)
- {
- adev->mode = ACX_MODE_2_STA;
- changed = 1;
- }
- break;
-- case IEEE80211_IF_TYPE_WDS:
-+ case NL80211_IFTYPE_WDS:
- default:
- if (adev->mode != ACX_MODE_OFF)
- {
-@@ -4142,7 +4142,7 @@ static void acx_s_select_opmode(acx_devi
- break;
- }
- } else {
-- if (adev->interface.type == IEEE80211_IF_TYPE_MNTR)
-+ if (adev->interface.type == NL80211_IFTYPE_MONITOR)
- {
- if (adev->mode != ACX_MODE_MONITOR)
- {
-@@ -4186,7 +4186,7 @@ int acx_add_interface(struct ieee80211_h
- FN_ENTER;
- acx_lock(adev, flags);
-
-- if (conf->type == IEEE80211_IF_TYPE_MNTR) {
-+ if (conf->type == NL80211_IFTYPE_MONITOR) {
- adev->interface.monitor++;
- } else {
- if (adev->interface.operating)
-@@ -4232,7 +4232,7 @@ void acx_remove_interface(struct ieee802
- FN_ENTER;
-
- acx_sem_lock(adev);
-- if (conf->type == IEEE80211_IF_TYPE_MNTR) {
-+ if (conf->type == NL80211_IFTYPE_MONITOR) {
- adev->interface.monitor--;
- // assert(bcm->interface.monitor >= 0);
- } else {
-@@ -4386,7 +4386,7 @@ extern int acx_config_interface(struct i
-
- acx_lock(adev, flags);
-
-- if ((vif->type != IEEE80211_IF_TYPE_MNTR)
-+ if ((vif->type != NL80211_IFTYPE_MONITOR)
- && (adev->vif == vif)) {
- if (conf->bssid)
- {
-@@ -4394,7 +4394,7 @@ extern int acx_config_interface(struct i
- MAC_COPY(adev->bssid,conf->bssid);
- }
- }
-- if ((vif->type == IEEE80211_IF_TYPE_AP)
-+ if ((vif->type == NL80211_IFTYPE_AP)
- && (adev->vif == vif)) {
- if ((conf->ssid_len > 0) && conf->ssid)
- {
diff --git a/package/acx-mac80211/patches/004-acx_config_interface_type.patch b/package/acx-mac80211/patches/004-acx_config_interface_type.patch
deleted file mode 100644
index 800dc6176f..0000000000
--- a/package/acx-mac80211/patches/004-acx_config_interface_type.patch
+++ /dev/null
@@ -1,91 +0,0 @@
---- a/acx_func.h
-+++ b/acx_func.h
-@@ -619,9 +619,10 @@ int acx_net_set_key(struct ieee80211_hw
- enum set_key_cmd cmd,
- const u8 *local_addr, const u8 *addr,
- struct ieee80211_key_conf *key);
--extern int acx_config_interface(struct ieee80211_hw* ieee,
-+void acx_config_interface(struct ieee80211_hw* ieee,
- struct ieee80211_vif *vif,
-- struct ieee80211_if_conf *conf);
-+ struct ieee80211_bss_conf *info,
-+ u32 changes);
- int acx_net_config(struct ieee80211_hw* ieee, struct ieee80211_conf *conf);
- int acx_net_get_tx_stats(struct ieee80211_hw* ieee, struct ieee80211_tx_queue_stats *stats);
- int acx_net_conf_tx(struct ieee80211_hw* ieee, u16 queue,
---- a/common.c
-+++ b/common.c
-@@ -4370,9 +4370,10 @@ int acx_net_config(struct ieee80211_hw *
- **
- */
-
--extern int acx_config_interface(struct ieee80211_hw* ieee,
-+void acx_config_interface(struct ieee80211_hw* ieee,
- struct ieee80211_vif *vif,
-- struct ieee80211_if_conf *conf)
-+ struct ieee80211_bss_conf *info,
-+ u32 changes)
- {
- acx_device_t *adev = ieee2adev(ieee);
- unsigned long flags;
-@@ -4388,22 +4389,22 @@ extern int acx_config_interface(struct i
-
- if ((vif->type != NL80211_IFTYPE_MONITOR)
- && (adev->vif == vif)) {
-- if (conf->bssid)
-+ if (info->bssid)
- {
-- adev->interface.bssid = conf->bssid;
-- MAC_COPY(adev->bssid,conf->bssid);
-+ adev->interface.bssid = info->bssid;
-+ MAC_COPY(adev->bssid, info->bssid);
- }
- }
- if ((vif->type == NL80211_IFTYPE_AP)
- && (adev->vif == vif)) {
-- if ((conf->ssid_len > 0) && conf->ssid)
-+ if (info->bssid)
- {
-- adev->essid_len = conf->ssid_len;
-- memcpy(adev->essid, conf->ssid, conf->ssid_len);
-+ adev->essid_len = ETH_ALEN;
-+ memcpy(adev->essid, info->bssid, ETH_ALEN);
- SET_BIT(adev->set_mask, SET_TEMPLATES);
- }
- }
-- if (conf->changed & IEEE80211_IFCC_BEACON)
-+ if (changes & BSS_CHANGED_BSSID)
- {
- adev->beacon_interval = DEFAULT_BEACON_INTERVAL;
- adev->beacon_cache = ieee80211_beacon_get(ieee, vif);
-@@ -4418,7 +4419,7 @@ extern int acx_config_interface(struct i
- err = 0;
- err_out:
- FN_EXIT1(err);
-- return err;
-+ return;
- }
-
- /**
---- a/pci.c
-+++ b/pci.c
-@@ -1469,7 +1469,7 @@ static const struct ieee80211_ops acxpci
- .configure_filter = acx_i_set_multicast_list,
- .stop = acxpci_e_close,
- .config = acx_net_config,
-- .config_interface = acx_config_interface,
-+ .bss_info_changed = acx_config_interface,
- .set_key = acx_net_set_key,
- .get_stats = acx_e_get_stats,
- .get_tx_stats = acx_net_get_tx_stats,
---- a/usb.c
-+++ b/usb.c
-@@ -741,7 +741,7 @@ static const struct ieee80211_ops acxusb
- .configure_filter = acx_i_set_multicast_list,
- .stop = acxusb_e_close,
- .config = acx_net_config,
-- .config_interface = acx_config_interface,
-+ .bss_info_changed = acx_config_interface,
- .set_key = acx_net_set_key,
- .get_stats = acx_e_get_stats,
- .get_tx_stats = acx_net_get_tx_stats,
diff --git a/package/acx-mac80211/patches/005-pci_fixes.patch b/package/acx-mac80211/patches/005-pci_fixes.patch
deleted file mode 100644
index de407d81d0..0000000000
--- a/package/acx-mac80211/patches/005-pci_fixes.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-Index: acx-mac80211-20080805/acx_func.h
-===================================================================
---- acx-mac80211-20080805.orig/acx_func.h 2009-05-26 20:58:10.000000000 +0200
-+++ acx-mac80211-20080805/acx_func.h 2009-05-26 20:58:11.000000000 +0200
-@@ -623,7 +623,7 @@
- struct ieee80211_vif *vif,
- struct ieee80211_bss_conf *info,
- u32 changes);
--int acx_net_config(struct ieee80211_hw* ieee, struct ieee80211_conf *conf);
-+int acx_net_config(struct ieee80211_hw* ieee, u32 changed);
- int acx_net_get_tx_stats(struct ieee80211_hw* ieee, struct ieee80211_tx_queue_stats *stats);
- int acx_net_conf_tx(struct ieee80211_hw* ieee, u16 queue,
- const struct ieee80211_tx_queue_params *params);
-Index: acx-mac80211-20080805/common.c
-===================================================================
---- acx-mac80211-20080805.orig/common.c 2009-05-26 20:58:10.000000000 +0200
-+++ acx-mac80211-20080805/common.c 2009-05-26 20:58:11.000000000 +0200
-@@ -4300,9 +4300,10 @@
- ** Derived from mac80211 code, p54, bcm43xx_mac80211
- **
- */
--int acx_net_config(struct ieee80211_hw *hw, struct ieee80211_conf *conf)
-+int acx_net_config(struct ieee80211_hw *hw, u32 changed)
- {
- acx_device_t *adev = ieee2adev(hw);
-+ struct ieee80211_conf *conf = &hw->conf;
- unsigned long flags;
-
- FN_ENTER;
-Index: acx-mac80211-20080805/pci.c
-===================================================================
---- acx-mac80211-20080805.orig/pci.c 2009-05-26 20:58:10.000000000 +0200
-+++ acx-mac80211-20080805/pci.c 2009-05-30 20:44:29.000000000 +0200
-@@ -3105,7 +3105,7 @@
-
- /* let chip do RTS/CTS handshaking before sending
- * in case packet size exceeds threshold */
-- if (info->flags & IEEE80211_TX_CTL_USE_RTS_CTS)
-+ if (info->flags & IEEE80211_TX_RC_USE_RTS_CTS)
- SET_BIT(Ctl2_8, DESC_CTL2_RTS);
- else
- CLEAR_BIT(Ctl2_8, DESC_CTL2_RTS);
-@@ -3120,7 +3120,7 @@
- /* put_txcr(adev, txdesc, clt, rate_cur); deprecated by mac80211 */
-
- txdesc->total_length = cpu_to_le16(len);
-- wlhdr_len = ieee80211_get_hdrlen(le16_to_cpu(wireless_header->frame_control));
-+ wlhdr_len = ieee80211_hdrlen(le16_to_cpu(wireless_header->frame_control));
- hostdesc2->length = cpu_to_le16(len - wlhdr_len);
- /*
- if (!ieeectl->do_not_encrypt && ieeectl->key_idx>= 0)
-@@ -3444,8 +3444,8 @@
- /* And finally report upstream */
- if (hostdesc)
- {
-- info->status.excessive_retries = rts_failures;
-- info->status.retry_count = ack_failures;
-+ //info->status.excessive_retries = rts_failures;
-+ //info->status.retry_count = ack_failures;
- ieee80211_tx_status(adev->ieee, hostdesc->skb);
- }
- /* update pointer for descr to be cleaned next */
-@@ -4303,6 +4303,7 @@
- }
-
- acx_init_task_scheduler(adev);
-+ adev->ieee->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION);
- result = ieee80211_register_hw(adev->ieee);
- if (OK != result) {
- printk("acx: ieee80211_register_hw() FAILED: %d\n", result);