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