summaryrefslogtreecommitdiffstats
path: root/package/acx-mac80211/patches/004-acx_config_interface_type.patch
blob: 800dc6176f1a1f5a1356dc7f3636979103bd2de2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
--- 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,