aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/wil6210/wil6210.h
diff options
context:
space:
mode:
authorVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>2014-10-28 10:50:08 -0400
committerJohn W. Linville <linville@tuxdriver.com>2014-10-30 15:26:50 -0400
commitb516fcc5542d41041156b8e5f93f47cbb603c4b7 (patch)
tree069bbaf83202f02857d068f30c247de475a50863 /drivers/net/wireless/ath/wil6210/wil6210.h
parent48516298edb4260748c52064f828319c3bb15536 (diff)
wil6210: prevent double disconnect command issuing
Disconnect flow may be invoked either from upper layer request, or from event reported by the firmware. In case of firmware event, driver need to release resources for the station but not send another disconnect WMI command. In case of upper layer request, WMI_DISCONNECT_STA_CMDID command need to be issued for the firmware to perform disconnect on the MAC layer. Eventually, event is expected to confirm MAC disconnect, but it is better to not wait for firmware event and release station resources immediately. FW may fail to report disconnect for various reasons, so one could not rely on event always reported. Introduce parameter to distinguish 2 cases above to prevent double WMI command issuing. 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/wil6210.h')
-rw-r--r--drivers/net/wireless/ath/wil6210/wil6210.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/wil6210/wil6210.h b/drivers/net/wireless/ath/wil6210/wil6210.h
index 18f8729a6b2c..3674e2732192 100644
--- a/drivers/net/wireless/ath/wil6210/wil6210.h
+++ b/drivers/net/wireless/ath/wil6210/wil6210.h
@@ -584,7 +584,8 @@ void wil_wdev_free(struct wil6210_priv *wil);
584int wmi_set_mac_address(struct wil6210_priv *wil, void *addr); 584int wmi_set_mac_address(struct wil6210_priv *wil, void *addr);
585int wmi_pcp_start(struct wil6210_priv *wil, int bi, u8 wmi_nettype, u8 chan); 585int wmi_pcp_start(struct wil6210_priv *wil, int bi, u8 wmi_nettype, u8 chan);
586int wmi_pcp_stop(struct wil6210_priv *wil); 586int wmi_pcp_stop(struct wil6210_priv *wil);
587void wil6210_disconnect(struct wil6210_priv *wil, const u8 *bssid); 587void wil6210_disconnect(struct wil6210_priv *wil, const u8 *bssid,
588 bool from_event);
588 589
589int wil_rx_init(struct wil6210_priv *wil); 590int wil_rx_init(struct wil6210_priv *wil);
590void wil_rx_fini(struct wil6210_priv *wil); 591void wil_rx_fini(struct wil6210_priv *wil);