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,