You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openwrt/package/acx-mac80211/patches/004-acx_config_interface_ty...

92 lines
2.8 KiB
Diff

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