diff options
author | Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> | 2013-05-28 08:17:53 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-05-29 15:22:32 -0400 |
commit | b338f74e33e33616e8fe498b5b09da8a84a7b218 (patch) | |
tree | c1308e7257d4ac17b4c5f3fb02c07f8e31f24fe7 /drivers/net/wireless/ath/wil6210/main.c | |
parent | adc2d1225bed4bbf68473e6b5c4b91d2445609cb (diff) |
wil6210: Don't use wdev->sme_state
sme_state is private wdev's variable.
Track connection state internally
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/wil6210/main.c')
-rw-r--r-- | drivers/net/wireless/ath/wil6210/main.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/drivers/net/wireless/ath/wil6210/main.c b/drivers/net/wireless/ath/wil6210/main.c index ea49c8a18e15..c97b864667c5 100644 --- a/drivers/net/wireless/ath/wil6210/main.c +++ b/drivers/net/wireless/ath/wil6210/main.c | |||
@@ -56,27 +56,21 @@ static void _wil6210_disconnect(struct wil6210_priv *wil, void *bssid) | |||
56 | { | 56 | { |
57 | uint i; | 57 | uint i; |
58 | struct net_device *ndev = wil_to_ndev(wil); | 58 | struct net_device *ndev = wil_to_ndev(wil); |
59 | struct wireless_dev *wdev = wil->wdev; | ||
60 | 59 | ||
61 | wil_dbg_misc(wil, "%s()\n", __func__); | 60 | wil_dbg_misc(wil, "%s()\n", __func__); |
62 | 61 | ||
63 | wil_link_off(wil); | 62 | wil_link_off(wil); |
64 | clear_bit(wil_status_fwconnected, &wil->status); | 63 | if (test_bit(wil_status_fwconnected, &wil->status)) { |
65 | 64 | clear_bit(wil_status_fwconnected, &wil->status); | |
66 | switch (wdev->sme_state) { | 65 | cfg80211_disconnected(ndev, |
67 | case CFG80211_SME_CONNECTED: | 66 | WLAN_STATUS_UNSPECIFIED_FAILURE, |
68 | cfg80211_disconnected(ndev, WLAN_STATUS_UNSPECIFIED_FAILURE, | ||
69 | NULL, 0, GFP_KERNEL); | 67 | NULL, 0, GFP_KERNEL); |
70 | break; | 68 | } else if (test_bit(wil_status_fwconnecting, &wil->status)) { |
71 | case CFG80211_SME_CONNECTING: | ||
72 | cfg80211_connect_result(ndev, bssid, NULL, 0, NULL, 0, | 69 | cfg80211_connect_result(ndev, bssid, NULL, 0, NULL, 0, |
73 | WLAN_STATUS_UNSPECIFIED_FAILURE, | 70 | WLAN_STATUS_UNSPECIFIED_FAILURE, |
74 | GFP_KERNEL); | 71 | GFP_KERNEL); |
75 | break; | ||
76 | default: | ||
77 | break; | ||
78 | } | 72 | } |
79 | 73 | clear_bit(wil_status_fwconnecting, &wil->status); | |
80 | for (i = 0; i < ARRAY_SIZE(wil->vring_tx); i++) | 74 | for (i = 0; i < ARRAY_SIZE(wil->vring_tx); i++) |
81 | wil_vring_fini_tx(wil, i); | 75 | wil_vring_fini_tx(wil, i); |
82 | 76 | ||