aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/ath/ath6kl/Makefile1
-rw-r--r--drivers/net/wireless/ath/ath6kl/cfg80211.c52
-rw-r--r--drivers/net/wireless/ath/ath6kl/common.h83
-rw-r--r--drivers/net/wireless/ath/ath6kl/core.h2
-rw-r--r--drivers/net/wireless/ath/ath6kl/init.c5
-rw-r--r--drivers/net/wireless/ath/ath6kl/node.c234
-rw-r--r--drivers/net/wireless/ath/ath6kl/wmi.c37
-rw-r--r--drivers/net/wireless/ath/ath6kl/wmi.h8
8 files changed, 0 insertions, 422 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/Makefile b/drivers/net/wireless/ath/ath6kl/Makefile
index 5fe092046d3e..8f7a0d1c290c 100644
--- a/drivers/net/wireless/ath/ath6kl/Makefile
+++ b/drivers/net/wireless/ath/ath6kl/Makefile
@@ -31,7 +31,6 @@ ath6kl-y += init.o
31ath6kl-y += main.o 31ath6kl-y += main.o
32ath6kl-y += txrx.o 32ath6kl-y += txrx.o
33ath6kl-y += wmi.o 33ath6kl-y += wmi.o
34ath6kl-y += node.o
35ath6kl-y += sdio.o 34ath6kl-y += sdio.o
36ath6kl-$(CONFIG_NL80211_TESTMODE) += testmode.o 35ath6kl-$(CONFIG_NL80211_TESTMODE) += testmode.o
37 36
diff --git a/drivers/net/wireless/ath/ath6kl/cfg80211.c b/drivers/net/wireless/ath/ath6kl/cfg80211.c
index 5ede3d2f1f2a..b32843779c5f 100644
--- a/drivers/net/wireless/ath/ath6kl/cfg80211.c
+++ b/drivers/net/wireless/ath/ath6kl/cfg80211.c
@@ -626,55 +626,6 @@ void ath6kl_cfg80211_disconnect_event(struct ath6kl *ar, u8 reason,
626 ar->sme_state = SME_DISCONNECTED; 626 ar->sme_state = SME_DISCONNECTED;
627} 627}
628 628
629static inline bool is_ch_11a(u16 ch)
630{
631 return (!((ch >= 2412) && (ch <= 2484)));
632}
633
634/* struct ath6kl_node_table::nt_nodelock is locked when calling this */
635void ath6kl_cfg80211_scan_node(struct wiphy *wiphy, struct bss *ni)
636{
637 struct ieee80211_mgmt *mgmt;
638 struct ieee80211_channel *channel;
639 struct ieee80211_supported_band *band;
640 struct ath6kl_common_ie *cie;
641 s32 signal;
642 int freq;
643
644 cie = &ni->ni_cie;
645
646 if (is_ch_11a(cie->ie_chan))
647 band = wiphy->bands[IEEE80211_BAND_5GHZ]; /* 11a */
648 else if ((cie->ie_erp) || (cie->ie_xrates))
649 band = wiphy->bands[IEEE80211_BAND_2GHZ]; /* 11g */
650 else
651 band = wiphy->bands[IEEE80211_BAND_2GHZ]; /* 11b */
652
653 freq = cie->ie_chan;
654 channel = ieee80211_get_channel(wiphy, freq);
655 signal = ni->ni_snr * 100;
656
657 ath6kl_dbg(ATH6KL_DBG_WLAN_CFG,
658 "%s: bssid %pM ch %d freq %d size %d\n", __func__,
659 ni->ni_macaddr, channel->hw_value, freq, ni->ni_framelen);
660 /*
661 * Both Beacon and Probe Response frames have same payload structure,
662 * so it is fine to share the parser for both.
663 */
664 if (ni->ni_framelen < 8 + 2 + 2)
665 return;
666 mgmt = (struct ieee80211_mgmt *) (ni->ni_buf -
667 offsetof(struct ieee80211_mgmt, u));
668 cfg80211_inform_bss(wiphy, channel, ni->ni_macaddr,
669 le64_to_cpu(mgmt->u.beacon.timestamp),
670 le16_to_cpu(mgmt->u.beacon.capab_info),
671 le16_to_cpu(mgmt->u.beacon.beacon_int),
672 mgmt->u.beacon.variable,
673 ni->ni_buf + ni->ni_framelen -
674 mgmt->u.beacon.variable,
675 signal, GFP_ATOMIC);
676}
677
678static int ath6kl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev, 629static int ath6kl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
679 struct cfg80211_scan_request *request) 630 struct cfg80211_scan_request *request)
680{ 631{
@@ -768,9 +719,6 @@ void ath6kl_cfg80211_scan_complete_event(struct ath6kl *ar, int status)
768 goto out; 719 goto out;
769 } 720 }
770 721
771 /* Translate data to cfg80211 mgmt format */
772 wlan_iterate_nodes(&ar->scan_table, ar->wdev->wiphy);
773
774 cfg80211_scan_done(ar->scan_req, false); 722 cfg80211_scan_done(ar->scan_req, false);
775 723
776 if (ar->scan_req->n_ssids && ar->scan_req->ssids[0].ssid_len) { 724 if (ar->scan_req->n_ssids && ar->scan_req->ssids[0].ssid_len) {
diff --git a/drivers/net/wireless/ath/ath6kl/common.h b/drivers/net/wireless/ath/ath6kl/common.h
index 6b0d45642fe3..b92f0e5d2336 100644
--- a/drivers/net/wireless/ath/ath6kl/common.h
+++ b/drivers/net/wireless/ath/ath6kl/common.h
@@ -75,94 +75,11 @@ enum crypto_type {
75 AES_CRYPT = 0x08, 75 AES_CRYPT = 0x08,
76}; 76};
77 77
78#define ATH6KL_NODE_HASHSIZE 32
79/* simple hash is enough for variation of macaddr */
80#define ATH6KL_NODE_HASH(addr) \
81 (((const u8 *)(addr))[ETH_ALEN - 1] % \
82 ATH6KL_NODE_HASHSIZE)
83
84/*
85 * Table of ath6kl_node instances. Each ieee80211com
86 * has at least one for holding the scan candidates.
87 * When operating as an access point or in ibss mode there
88 * is a second table for associated stations or neighbors.
89 */
90struct ath6kl_node_table {
91 spinlock_t nt_nodelock; /* on node table */
92 struct bss *nt_node_first; /* information of all nodes */
93 struct bss *nt_node_last; /* information of all nodes */
94 struct bss *nt_hash[ATH6KL_NODE_HASHSIZE];
95 const char *nt_name; /* for debugging */
96 u32 nt_node_age; /* node aging time */
97};
98
99#define WLAN_NODE_INACT_TIMEOUT_MSEC 120000
100#define WLAN_NODE_INACT_CNT 4
101
102struct ath6kl_common_ie {
103 u16 ie_chan;
104 u8 *ie_tstamp;
105 u8 *ie_ssid;
106 u8 *ie_rates;
107 u8 *ie_xrates;
108 u8 *ie_country;
109 u8 *ie_wpa;
110 u8 *ie_rsn;
111 u8 *ie_wmm;
112 u8 *ie_ath;
113 u16 ie_capInfo;
114 u16 ie_beaconInt;
115 u8 *ie_tim;
116 u8 *ie_chswitch;
117 u8 ie_erp;
118 u8 *ie_wsc;
119 u8 *ie_htcap;
120 u8 *ie_htop;
121};
122
123struct bss {
124 u8 ni_macaddr[ETH_ALEN];
125 u8 ni_snr;
126 s16 ni_rssi;
127 struct bss *ni_list_next;
128 struct bss *ni_list_prev;
129 struct bss *ni_hash_next;
130 struct bss *ni_hash_prev;
131 struct ath6kl_common_ie ni_cie;
132 u8 *ni_buf;
133 u16 ni_framelen;
134 struct ath6kl_node_table *ni_table;
135 u32 ni_refcnt;
136
137 u32 ni_tstamp;
138 u32 ni_actcnt;
139};
140
141struct htc_endpoint_credit_dist; 78struct htc_endpoint_credit_dist;
142struct ath6kl; 79struct ath6kl;
143enum htc_credit_dist_reason; 80enum htc_credit_dist_reason;
144struct htc_credit_state_info; 81struct htc_credit_state_info;
145 82
146struct bss *wlan_node_alloc(int wh_size);
147void wlan_node_free(struct bss *ni);
148void wlan_setup_node(struct ath6kl_node_table *nt, struct bss *ni,
149 const u8 *mac_addr);
150struct bss *wlan_find_node(struct ath6kl_node_table *nt,
151 const u8 *mac_addr);
152void wlan_node_reclaim(struct ath6kl_node_table *nt, struct bss *ni);
153void wlan_free_allnodes(struct ath6kl_node_table *nt);
154void wlan_iterate_nodes(struct ath6kl_node_table *nt, void *arg);
155
156void wlan_node_table_init(struct ath6kl_node_table *nt);
157void wlan_node_table_cleanup(struct ath6kl_node_table *nt);
158
159void wlan_refresh_inactive_nodes(struct ath6kl *ar);
160
161struct bss *wlan_find_ssid_node(struct ath6kl_node_table *nt, u8 *ssid,
162 u32 ssid_len, bool is_wpa2, bool match_ssid);
163
164void wlan_node_return(struct ath6kl_node_table *nt, struct bss *ni);
165
166int ath6k_setup_credit_dist(void *htc_handle, 83int ath6k_setup_credit_dist(void *htc_handle,
167 struct htc_credit_state_info *cred_info); 84 struct htc_credit_state_info *cred_info);
168void ath6k_credit_distribute(struct htc_credit_state_info *cred_inf, 85void ath6k_credit_distribute(struct htc_credit_state_info *cred_inf,
diff --git a/drivers/net/wireless/ath/ath6kl/core.h b/drivers/net/wireless/ath/ath6kl/core.h
index a9b3b17ef3ef..9e6abb85fc50 100644
--- a/drivers/net/wireless/ath/ath6kl/core.h
+++ b/drivers/net/wireless/ath/ath6kl/core.h
@@ -503,7 +503,6 @@ struct ath6kl {
503 503
504 struct workqueue_struct *ath6kl_wq; 504 struct workqueue_struct *ath6kl_wq;
505 505
506 struct ath6kl_node_table scan_table;
507 struct dentry *debugfs_phy; 506 struct dentry *debugfs_phy;
508 507
509 u32 send_action_id; 508 u32 send_action_id;
@@ -626,5 +625,4 @@ void aggr_recv_addba_req_evt(struct ath6kl *ar, u8 tid, u16 seq_no,
626void ath6kl_wakeup_event(void *dev); 625void ath6kl_wakeup_event(void *dev);
627void ath6kl_target_failure(struct ath6kl *ar); 626void ath6kl_target_failure(struct ath6kl *ar);
628 627
629void ath6kl_cfg80211_scan_node(struct wiphy *wiphy, struct bss *ni);
630#endif /* CORE_H */ 628#endif /* CORE_H */
diff --git a/drivers/net/wireless/ath/ath6kl/init.c b/drivers/net/wireless/ath/ath6kl/init.c
index 1834e9af5799..7e10f712ae4d 100644
--- a/drivers/net/wireless/ath/ath6kl/init.c
+++ b/drivers/net/wireless/ath/ath6kl/init.c
@@ -1418,8 +1418,6 @@ static int ath6kl_init(struct net_device *dev)
1418 1418
1419 ath6kl_dbg(ATH6KL_DBG_TRC, "%s: got wmi @ 0x%p.\n", __func__, ar->wmi); 1419 ath6kl_dbg(ATH6KL_DBG_TRC, "%s: got wmi @ 0x%p.\n", __func__, ar->wmi);
1420 1420
1421 wlan_node_table_init(&ar->scan_table);
1422
1423 /* 1421 /*
1424 * The reason we have to wait for the target here is that the 1422 * The reason we have to wait for the target here is that the
1425 * driver layer has to init BMI in order to set the host block 1423 * driver layer has to init BMI in order to set the host block
@@ -1501,7 +1499,6 @@ err_rxbuf_cleanup:
1501err_cleanup_scatter: 1499err_cleanup_scatter:
1502 ath6kl_hif_cleanup_scatter(ar); 1500 ath6kl_hif_cleanup_scatter(ar);
1503err_node_cleanup: 1501err_node_cleanup:
1504 wlan_node_table_cleanup(&ar->scan_table);
1505 ath6kl_wmi_shutdown(ar->wmi); 1502 ath6kl_wmi_shutdown(ar->wmi);
1506 clear_bit(WMI_ENABLED, &ar->flag); 1503 clear_bit(WMI_ENABLED, &ar->flag);
1507 ar->wmi = NULL; 1504 ar->wmi = NULL;
@@ -1658,8 +1655,6 @@ void ath6kl_destroy(struct net_device *dev, unsigned int unregister)
1658 1655
1659 free_netdev(dev); 1656 free_netdev(dev);
1660 1657
1661 wlan_node_table_cleanup(&ar->scan_table);
1662
1663 kfree(ar->fw_board); 1658 kfree(ar->fw_board);
1664 kfree(ar->fw_otp); 1659 kfree(ar->fw_otp);
1665 kfree(ar->fw); 1660 kfree(ar->fw);
diff --git a/drivers/net/wireless/ath/ath6kl/node.c b/drivers/net/wireless/ath/ath6kl/node.c
deleted file mode 100644
index 131205c610b9..000000000000
--- a/drivers/net/wireless/ath/ath6kl/node.c
+++ /dev/null
@@ -1,234 +0,0 @@
1/*
2 * Copyright (c) 2004-2011 Atheros Communications Inc.
3 *
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17#include "htc.h"
18#include "wmi.h"
19#include "debug.h"
20
21struct bss *wlan_node_alloc(int wh_size)
22{
23 struct bss *ni;
24
25 ni = kzalloc(sizeof(struct bss), GFP_ATOMIC);
26
27 if ((ni != NULL) && wh_size) {
28 ni->ni_buf = kmalloc(wh_size, GFP_ATOMIC);
29 if (ni->ni_buf == NULL) {
30 kfree(ni);
31 return NULL;
32 }
33 }
34
35 return ni;
36}
37
38void wlan_node_free(struct bss *ni)
39{
40 kfree(ni->ni_buf);
41 kfree(ni);
42}
43
44void wlan_setup_node(struct ath6kl_node_table *nt, struct bss *ni,
45 const u8 *mac_addr)
46{
47 int hash;
48
49 memcpy(ni->ni_macaddr, mac_addr, ETH_ALEN);
50 hash = ATH6KL_NODE_HASH(mac_addr);
51 ni->ni_refcnt = 1;
52
53 ni->ni_tstamp = jiffies_to_msecs(jiffies);
54 ni->ni_actcnt = WLAN_NODE_INACT_CNT;
55
56 spin_lock_bh(&nt->nt_nodelock);
57
58 /* insert at the end of the node list */
59 ni->ni_list_next = NULL;
60 ni->ni_list_prev = nt->nt_node_last;
61 if (nt->nt_node_last != NULL)
62 nt->nt_node_last->ni_list_next = ni;
63
64 nt->nt_node_last = ni;
65 if (nt->nt_node_first == NULL)
66 nt->nt_node_first = ni;
67
68 /* insert into the hash list */
69 ni->ni_hash_next = nt->nt_hash[hash];
70 if (ni->ni_hash_next != NULL)
71 nt->nt_hash[hash]->ni_hash_prev = ni;
72
73 ni->ni_hash_prev = NULL;
74 nt->nt_hash[hash] = ni;
75
76 spin_unlock_bh(&nt->nt_nodelock);
77}
78
79struct bss *wlan_find_node(struct ath6kl_node_table *nt,
80 const u8 *mac_addr)
81{
82 struct bss *ni, *found_ni = NULL;
83 int hash;
84
85 spin_lock_bh(&nt->nt_nodelock);
86
87 hash = ATH6KL_NODE_HASH(mac_addr);
88 for (ni = nt->nt_hash[hash]; ni; ni = ni->ni_hash_next) {
89 if (memcmp(ni->ni_macaddr, mac_addr, ETH_ALEN) == 0) {
90 ni->ni_refcnt++;
91 found_ni = ni;
92 break;
93 }
94 }
95
96 spin_unlock_bh(&nt->nt_nodelock);
97
98 return found_ni;
99}
100
101void wlan_node_reclaim(struct ath6kl_node_table *nt, struct bss *ni)
102{
103 int hash;
104
105 spin_lock_bh(&nt->nt_nodelock);
106
107 if (ni->ni_list_prev == NULL)
108 /* fix list head */
109 nt->nt_node_first = ni->ni_list_next;
110 else
111 ni->ni_list_prev->ni_list_next = ni->ni_list_next;
112
113 if (ni->ni_list_next == NULL)
114 /* fix list tail */
115 nt->nt_node_last = ni->ni_list_prev;
116 else
117 ni->ni_list_next->ni_list_prev = ni->ni_list_prev;
118
119 if (ni->ni_hash_prev == NULL) {
120 /* first in list so fix the list head */
121 hash = ATH6KL_NODE_HASH(ni->ni_macaddr);
122 nt->nt_hash[hash] = ni->ni_hash_next;
123 } else {
124 ni->ni_hash_prev->ni_hash_next = ni->ni_hash_next;
125 }
126
127 if (ni->ni_hash_next != NULL)
128 ni->ni_hash_next->ni_hash_prev = ni->ni_hash_prev;
129
130 wlan_node_free(ni);
131
132 spin_unlock_bh(&nt->nt_nodelock);
133}
134
135static void wlan_node_dec_free(struct bss *ni)
136{
137 if ((ni->ni_refcnt--) == 1)
138 wlan_node_free(ni);
139}
140
141void wlan_free_allnodes(struct ath6kl_node_table *nt)
142{
143 struct bss *ni;
144
145 while ((ni = nt->nt_node_first) != NULL)
146 wlan_node_reclaim(nt, ni);
147}
148
149void wlan_iterate_nodes(struct ath6kl_node_table *nt, void *arg)
150{
151 struct bss *ni;
152
153 spin_lock_bh(&nt->nt_nodelock);
154 for (ni = nt->nt_node_first; ni; ni = ni->ni_list_next) {
155 ni->ni_refcnt++;
156 ath6kl_cfg80211_scan_node(arg, ni);
157 wlan_node_dec_free(ni);
158 }
159 spin_unlock_bh(&nt->nt_nodelock);
160}
161
162void wlan_node_table_init(struct ath6kl_node_table *nt)
163{
164 ath6kl_dbg(ATH6KL_DBG_WLAN_NODE, "node table = 0x%lx\n",
165 (unsigned long)nt);
166
167 memset(nt, 0, sizeof(struct ath6kl_node_table));
168
169 spin_lock_init(&nt->nt_nodelock);
170
171 nt->nt_node_age = WLAN_NODE_INACT_TIMEOUT_MSEC;
172}
173
174void wlan_refresh_inactive_nodes(struct ath6kl *ar)
175{
176 struct ath6kl_node_table *nt = &ar->scan_table;
177 struct bss *bss;
178 u32 now;
179
180 now = jiffies_to_msecs(jiffies);
181 bss = nt->nt_node_first;
182 while (bss != NULL) {
183 /* refresh all nodes except the current bss */
184 if (memcmp(ar->bssid, bss->ni_macaddr, ETH_ALEN) != 0) {
185 if (((now - bss->ni_tstamp) > nt->nt_node_age)
186 || --bss->ni_actcnt == 0) {
187 wlan_node_reclaim(nt, bss);
188 }
189 }
190 bss = bss->ni_list_next;
191 }
192}
193
194void wlan_node_table_cleanup(struct ath6kl_node_table *nt)
195{
196 wlan_free_allnodes(nt);
197}
198
199struct bss *wlan_find_ssid_node(struct ath6kl_node_table *nt, u8 * ssid,
200 u32 ssid_len, bool is_wpa2, bool match_ssid)
201{
202 struct bss *ni, *found_ni = NULL;
203 u8 *ie_ssid;
204
205 spin_lock_bh(&nt->nt_nodelock);
206
207 for (ni = nt->nt_node_first; ni; ni = ni->ni_list_next) {
208
209 ie_ssid = ni->ni_cie.ie_ssid;
210
211 if ((ie_ssid[1] <= IEEE80211_MAX_SSID_LEN) &&
212 (memcmp(ssid, &ie_ssid[2], ssid_len) == 0)) {
213
214 if (match_ssid ||
215 (is_wpa2 && ni->ni_cie.ie_rsn != NULL) ||
216 (!is_wpa2 && ni->ni_cie.ie_wpa != NULL)) {
217 ni->ni_refcnt++;
218 found_ni = ni;
219 break;
220 }
221 }
222 }
223
224 spin_unlock_bh(&nt->nt_nodelock);
225
226 return found_ni;
227}
228
229void wlan_node_return(struct ath6kl_node_table *nt, struct bss *ni)
230{
231 spin_lock_bh(&nt->nt_nodelock);
232 wlan_node_dec_free(ni);
233 spin_unlock_bh(&nt->nt_nodelock);
234}
diff --git a/drivers/net/wireless/ath/ath6kl/wmi.c b/drivers/net/wireless/ath/ath6kl/wmi.c
index ff13e0bc646b..3ade9a17c0eb 100644
--- a/drivers/net/wireless/ath/ath6kl/wmi.c
+++ b/drivers/net/wireless/ath/ath6kl/wmi.c
@@ -2457,43 +2457,6 @@ s32 ath6kl_wmi_get_rate(s8 rate_index)
2457 return wmi_rate_tbl[(u32) rate_index][0]; 2457 return wmi_rate_tbl[(u32) rate_index][0];
2458} 2458}
2459 2459
2460void ath6kl_wmi_node_return(struct wmi *wmi, struct bss *bss)
2461{
2462 if (bss)
2463 wlan_node_return(&wmi->parent_dev->scan_table, bss);
2464}
2465
2466struct bss *ath6kl_wmi_find_ssid_node(struct wmi *wmi, u8 * ssid,
2467 u32 ssid_len, bool is_wpa2,
2468 bool match_ssid)
2469{
2470 struct bss *node = NULL;
2471
2472 node = wlan_find_ssid_node(&wmi->parent_dev->scan_table, ssid,
2473 ssid_len, is_wpa2, match_ssid);
2474 return node;
2475}
2476
2477struct bss *ath6kl_wmi_find_node(struct wmi *wmi, const u8 * mac_addr)
2478{
2479 struct bss *ni = NULL;
2480
2481 ni = wlan_find_node(&wmi->parent_dev->scan_table, mac_addr);
2482
2483 return ni;
2484}
2485
2486void ath6kl_wmi_node_free(struct wmi *wmi, const u8 * mac_addr)
2487{
2488 struct bss *ni = NULL;
2489
2490 ni = wlan_find_node(&wmi->parent_dev->scan_table, mac_addr);
2491 if (ni != NULL)
2492 wlan_node_reclaim(&wmi->parent_dev->scan_table, ni);
2493
2494 return;
2495}
2496
2497static int ath6kl_wmi_get_pmkid_list_event_rx(struct wmi *wmi, u8 *datap, 2460static int ath6kl_wmi_get_pmkid_list_event_rx(struct wmi *wmi, u8 *datap,
2498 u32 len) 2461 u32 len)
2499{ 2462{
diff --git a/drivers/net/wireless/ath/ath6kl/wmi.h b/drivers/net/wireless/ath/ath6kl/wmi.h
index f036e78522ab..f65bc0d6dbef 100644
--- a/drivers/net/wireless/ath/ath6kl/wmi.h
+++ b/drivers/net/wireless/ath/ath6kl/wmi.h
@@ -2181,8 +2181,6 @@ int ath6kl_wmi_implicit_create_pstream(struct wmi *wmi, struct sk_buff *skb,
2181 u8 *ac); 2181 u8 *ac);
2182 2182
2183int ath6kl_wmi_control_rx(struct wmi *wmi, struct sk_buff *skb); 2183int ath6kl_wmi_control_rx(struct wmi *wmi, struct sk_buff *skb);
2184struct bss *ath6kl_wmi_find_node(struct wmi *wmi, const u8 *mac_addr);
2185void ath6kl_wmi_node_free(struct wmi *wmi, const u8 *mac_addr);
2186 2184
2187int ath6kl_wmi_cmd_send(struct wmi *wmi, struct sk_buff *skb, 2185int ath6kl_wmi_cmd_send(struct wmi *wmi, struct sk_buff *skb,
2188 enum wmi_cmd_id cmd_id, enum wmi_sync_flag sync_flag); 2186 enum wmi_cmd_id cmd_id, enum wmi_sync_flag sync_flag);
@@ -2253,12 +2251,6 @@ s32 ath6kl_wmi_get_rate(s8 rate_index);
2253int ath6kl_wmi_set_ip_cmd(struct wmi *wmi, struct wmi_set_ip_cmd *ip_cmd); 2251int ath6kl_wmi_set_ip_cmd(struct wmi *wmi, struct wmi_set_ip_cmd *ip_cmd);
2254int ath6kl_wmi_set_roam_lrssi_cmd(struct wmi *wmi, u8 lrssi); 2252int ath6kl_wmi_set_roam_lrssi_cmd(struct wmi *wmi, u8 lrssi);
2255 2253
2256struct bss *ath6kl_wmi_find_ssid_node(struct wmi *wmi, u8 *ssid,
2257 u32 ssid_len, bool is_wpa2,
2258 bool match_ssid);
2259
2260void ath6kl_wmi_node_return(struct wmi *wmi, struct bss *bss);
2261
2262/* AP mode */ 2254/* AP mode */
2263int ath6kl_wmi_ap_profile_commit(struct wmi *wmip, struct wmi_connect_cmd *p); 2255int ath6kl_wmi_ap_profile_commit(struct wmi *wmip, struct wmi_connect_cmd *p);
2264 2256