2009-05-28 22:04:41 +03:00
|
|
|
--- a/acx_func.h
|
|
|
|
+++ b/acx_func.h
|
|
|
|
@@ -619,9 +619,10 @@ int acx_net_set_key(struct ieee80211_hw
|
2009-05-07 18:07:20 +03:00
|
|
|
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,
|
2009-05-28 22:04:41 +03:00
|
|
|
--- a/common.c
|
|
|
|
+++ b/common.c
|
|
|
|
@@ -4370,9 +4370,10 @@ int acx_net_config(struct ieee80211_hw *
|
2009-05-07 18:07:20 +03:00
|
|
|
**
|
|
|
|
*/
|
|
|
|
|
|
|
|
-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;
|
2009-05-28 22:04:41 +03:00
|
|
|
@@ -4388,22 +4389,22 @@ extern int acx_config_interface(struct i
|
2009-05-07 18:07:20 +03:00
|
|
|
|
|
|
|
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);
|
2009-05-28 22:04:41 +03:00
|
|
|
@@ -4418,7 +4419,7 @@ extern int acx_config_interface(struct i
|
2009-05-07 18:07:20 +03:00
|
|
|
err = 0;
|
|
|
|
err_out:
|
|
|
|
FN_EXIT1(err);
|
|
|
|
- return err;
|
|
|
|
+ return;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2009-05-28 22:04:41 +03:00
|
|
|
--- a/pci.c
|
|
|
|
+++ b/pci.c
|
|
|
|
@@ -1469,7 +1469,7 @@ static const struct ieee80211_ops acxpci
|
2009-05-07 18:07:20 +03:00
|
|
|
.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,
|
2009-05-28 22:04:41 +03:00
|
|
|
--- a/usb.c
|
|
|
|
+++ b/usb.c
|
|
|
|
@@ -741,7 +741,7 @@ static const struct ieee80211_ops acxusb
|
2009-05-07 18:07:20 +03:00
|
|
|
.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,
|