summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/mwifiex/fw.h
diff options
context:
space:
mode:
authorXinming Hu <huxm@marvell.com>2015-06-22 16:36:11 +0300
committerKalle Valo <kvalo@codeaurora.org>2015-07-21 16:40:20 +0300
commitf7669877e7ab1c5c7fddf268d57f016d97e48198 (patch)
treed196f251ecd4f77bd528fff9eb1437d4b3e60391 /drivers/net/wireless/mwifiex/fw.h
parentba101ad50a5024978f3f5007b4a6c20b304cdcbe (diff)
downloadlinux-f7669877e7ab1c5c7fddf268d57f016d97e48198.tar.xz
mwifiex: process tdls channel switch event
This patch add support for tdls channel switch event process. We block TX queues for particular RA list depending upon channel switch state. If channel switch state is moving to base channel, we unblock RA lists for AP. If channel switch state is moving to off channel, we unblock TDLS peer RA lists. Signed-off-by: Xinming Hu <huxm@marvell.com> Signed-off-by: Cathy Luo <cluo@marvell.com> Signed-off-by: Avinash Patil <patila@marvell.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/mwifiex/fw.h')
-rw-r--r--drivers/net/wireless/mwifiex/fw.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/drivers/net/wireless/mwifiex/fw.h b/drivers/net/wireless/mwifiex/fw.h
index 8ab0d81e6437..0785e645341f 100644
--- a/drivers/net/wireless/mwifiex/fw.h
+++ b/drivers/net/wireless/mwifiex/fw.h
@@ -547,7 +547,14 @@ enum P2P_MODES {
#define ACT_TDLS_DELETE 0x00
#define ACT_TDLS_CREATE 0x01
#define ACT_TDLS_CONFIG 0x02
-#define TDLS_EVENT_LINK_TEAR_DOWN 3
+
+#define TDLS_EVENT_LINK_TEAR_DOWN 3
+#define TDLS_EVENT_CHAN_SWITCH_RESULT 7
+#define TDLS_EVENT_START_CHAN_SWITCH 8
+#define TDLS_EVENT_CHAN_SWITCH_STOPPED 9
+
+#define TDLS_BASE_CHANNEL 0
+#define TDLS_OFF_CHANNEL 1
#define MWIFIEX_FW_V15 15
@@ -1936,10 +1943,18 @@ struct host_cmd_ds_802_11_subsc_evt {
__le16 events;
} __packed;
+struct chan_switch_result {
+ u8 cur_chan;
+ u8 status;
+ u8 reason;
+} __packed;
+
struct mwifiex_tdls_generic_event {
__le16 type;
u8 peer_mac[ETH_ALEN];
union {
+ struct chan_switch_result switch_result;
+ u8 cs_stop_reason;
__le16 reason_code;
__le16 reserved;
} u;