summaryrefslogtreecommitdiffstats
path: root/package/acx-mac80211/patches/004-acx_config_interface_type.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/acx-mac80211/patches/004-acx_config_interface_type.patch')
-rw-r--r--package/acx-mac80211/patches/004-acx_config_interface_type.patch95
1 files changed, 95 insertions, 0 deletions
diff --git a/package/acx-mac80211/patches/004-acx_config_interface_type.patch b/package/acx-mac80211/patches/004-acx_config_interface_type.patch
new file mode 100644
index 000000000..e6830c544
--- /dev/null
+++ b/package/acx-mac80211/patches/004-acx_config_interface_type.patch
@@ -0,0 +1,95 @@
+diff -urN acx-mac80211-20080805/acx_func.h acx-mac80211-20080805.new/acx_func.h
+--- acx-mac80211-20080805/acx_func.h 2009-05-07 14:32:44.000000000 +0200
++++ acx-mac80211-20080805.new/acx_func.h 2009-05-07 16:28:17.000000000 +0200
+@@ -619,9 +619,10 @@
+ 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,
+diff -urN acx-mac80211-20080805/common.c acx-mac80211-20080805.new/common.c
+--- acx-mac80211-20080805/common.c 2009-05-07 16:20:37.000000000 +0200
++++ acx-mac80211-20080805.new/common.c 2009-05-07 16:35:55.000000000 +0200
+@@ -4364,9 +4364,10 @@
+ **
+ */
+
+-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;
+@@ -4382,22 +4383,22 @@
+
+ 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);
+@@ -4412,7 +4413,7 @@
+ err = 0;
+ err_out:
+ FN_EXIT1(err);
+- return err;
++ return;
+ }
+
+ /**
+diff -urN acx-mac80211-20080805/pci.c acx-mac80211-20080805.new/pci.c
+--- acx-mac80211-20080805/pci.c 2009-05-07 14:32:44.000000000 +0200
++++ acx-mac80211-20080805.new/pci.c 2009-05-07 16:27:27.000000000 +0200
+@@ -1469,7 +1469,7 @@
+ .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,
+diff -urN acx-mac80211-20080805/usb.c acx-mac80211-20080805.new/usb.c
+--- acx-mac80211-20080805/usb.c 2009-05-07 14:32:44.000000000 +0200
++++ acx-mac80211-20080805.new/usb.c 2009-05-07 16:27:38.000000000 +0200
+@@ -741,7 +741,7 @@
+ .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,