summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/brcm80211/brcmfmac/p2p.h
diff options
context:
space:
mode:
authorHante Meuleman <meuleman@broadcom.com>2013-02-08 15:53:50 +0100
committerJohn W. Linville <linville@tuxdriver.com>2013-02-08 14:51:40 -0500
commitf2058dde8c2be70cc22dbd8f718ab6c33cf6ea11 (patch)
treee448dcde83aee495c94acde27889d6834946a2ee /drivers/net/wireless/brcm80211/brcmfmac/p2p.h
parent18e2f61db3b708e0a22ccc403cb6ab2203d6faab (diff)
downloadlinux-f2058dde8c2be70cc22dbd8f718ab6c33cf6ea11.tar.gz
linux-f2058dde8c2be70cc22dbd8f718ab6c33cf6ea11.tar.bz2
linux-f2058dde8c2be70cc22dbd8f718ab6c33cf6ea11.zip
brcmfmac: Use real cookie value for p2p remain on channel.
In some rare situations the wpa_supplicant can lock up on a remain on channel command. Use actual cookies for the remain on channel related commands and allow for additional remain on channel while still having one set. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/brcm80211/brcmfmac/p2p.h')
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/p2p.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/p2p.h b/drivers/net/wireless/brcm80211/brcmfmac/p2p.h
index 0610dcff43fc..0594018a7f9e 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/p2p.h
+++ b/drivers/net/wireless/brcm80211/brcmfmac/p2p.h
@@ -63,7 +63,7 @@ struct p2p_bss {
* @BRCMF_P2P_STATUS_ACTION_TX_COMPLETED: action frame tx completed.
* @BRCMF_P2P_STATUS_ACTION_TX_NOACK: action frame tx not acked.
* @BRCMF_P2P_STATUS_GO_NEG_PHASE: P2P GO negotiation ongoing.
- * @BRCMF_P2P_STATUS_REMAIN_ON_CHANNEL: P2P listen, remaining on channel.
+ * @BRCMF_P2P_STATUS_DISCOVER_LISTEN: P2P listen, remaining on channel.
*/
enum brcmf_p2p_status {
BRCMF_P2P_STATUS_IF_ADD = 0,
@@ -74,7 +74,7 @@ enum brcmf_p2p_status {
BRCMF_P2P_STATUS_ACTION_TX_COMPLETED,
BRCMF_P2P_STATUS_ACTION_TX_NOACK,
BRCMF_P2P_STATUS_GO_NEG_PHASE,
- BRCMF_P2P_STATUS_REMAIN_ON_CHANNEL
+ BRCMF_P2P_STATUS_DISCOVER_LISTEN
};
/**
@@ -89,6 +89,7 @@ enum brcmf_p2p_status {
* @ssid: ssid for P2P GO.
* @listen_channel: channel for @WL_P2P_DISC_ST_LISTEN discover state.
* @remain_on_channel: contains copy of struct used by cfg80211.
+ * @remain_on_channel_cookie: cookie counter for remain on channel cmd
* @next_af_subtype: expected action frame subtype.
* @send_af_done: indication that action frame tx is complete.
*/
@@ -102,6 +103,7 @@ struct brcmf_p2p_info {
struct brcmf_ssid ssid;
u8 listen_channel;
struct ieee80211_channel remain_on_channel;
+ u32 remain_on_channel_cookie;
u8 next_af_subtype;
struct completion send_af_done;
};