aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/wil6210
diff options
context:
space:
mode:
authorVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>2013-01-28 11:31:03 -0500
committerJohn W. Linville <linville@tuxdriver.com>2013-01-30 15:07:15 -0500
commitb98917d742bcf519b15894e78c17f2eb287b3584 (patch)
tree09ef5747834d09ef591f25c247578bf6e17847ac /drivers/net/wireless/ath/wil6210
parent241804cb7b09d05c1e79735fa51521b211f51fd1 (diff)
wil6210: Fix "don't scan after connect" logic
When connect times out, scan was not re-enabled. Strictly say, it is firmware issue - it should issue "disconnect" event but it does not. Compensate in the driver. 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')
-rw-r--r--drivers/net/wireless/ath/wil6210/main.c2
-rw-r--r--drivers/net/wireless/ath/wil6210/wmi.c1
2 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/wil6210/main.c b/drivers/net/wireless/ath/wil6210/main.c
index 90786dfc5ff1..3e9a71f125be 100644
--- a/drivers/net/wireless/ath/wil6210/main.c
+++ b/drivers/net/wireless/ath/wil6210/main.c
@@ -85,6 +85,8 @@ static void _wil6210_disconnect(struct wil6210_priv *wil, void *bssid)
85 85
86 for (i = 0; i < ARRAY_SIZE(wil->vring_tx); i++) 86 for (i = 0; i < ARRAY_SIZE(wil->vring_tx); i++)
87 wil_vring_fini_tx(wil, i); 87 wil_vring_fini_tx(wil, i);
88
89 clear_bit(wil_status_dontscan, &wil->status);
88} 90}
89 91
90static void wil_disconnect_worker(struct work_struct *work) 92static void wil_disconnect_worker(struct work_struct *work)
diff --git a/drivers/net/wireless/ath/wil6210/wmi.c b/drivers/net/wireless/ath/wil6210/wmi.c
index d109c3f7e5e9..dffb0026309c 100644
--- a/drivers/net/wireless/ath/wil6210/wmi.c
+++ b/drivers/net/wireless/ath/wil6210/wmi.c
@@ -459,7 +459,6 @@ static void wmi_evt_disconnect(struct wil6210_priv *wil, int id,
459 wil->sinfo_gen++; 459 wil->sinfo_gen++;
460 460
461 wil6210_disconnect(wil, evt->bssid); 461 wil6210_disconnect(wil, evt->bssid);
462 clear_bit(wil_status_dontscan, &wil->status);
463} 462}
464 463
465static void wmi_evt_notify(struct wil6210_priv *wil, int id, void *d, int len) 464static void wmi_evt_notify(struct wil6210_priv *wil, int id, void *d, int len)