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