diff options
Diffstat (limited to 'package/acx-mac80211/patches/004-acx_config_interface_type.patch')
-rw-r--r-- | package/acx-mac80211/patches/004-acx_config_interface_type.patch | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/package/acx-mac80211/patches/004-acx_config_interface_type.patch b/package/acx-mac80211/patches/004-acx_config_interface_type.patch new file mode 100644 index 000000000..e6830c544 --- /dev/null +++ b/package/acx-mac80211/patches/004-acx_config_interface_type.patch @@ -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, |