summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/brcm80211/brcmfmac/fweh.h
diff options
context:
space:
mode:
authorHante Meuleman <meuleman@broadcom.com>2015-09-18 22:08:18 +0200
committerKalle Valo <kvalo@codeaurora.org>2015-09-29 09:56:06 +0200
commitcb8dc71f516a98908de7de9be381ef9b571742e2 (patch)
treefe7a2f843b57f09892cc72fd67232c0caaa5b716 /drivers/net/wireless/brcm80211/brcmfmac/fweh.h
parentbrcmfmac: Add support for the BCM4365 and BCM4366 PCIE devices. (diff)
downloadlinux-cb8dc71f516a98908de7de9be381ef9b571742e2.tar.xz
linux-cb8dc71f516a98908de7de9be381ef9b571742e2.zip
brcmfmac: Fix TDLS setup by properly handling p2p noif.
There is a workaround needed for p2p device setup which breaks tdls functionality. This patch fixes that by properly signalling fweh that p2p device setup is ongoing. 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: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/brcm80211/brcmfmac/fweh.h')
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/fweh.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/fweh.h b/drivers/net/wireless/brcm80211/brcmfmac/fweh.h
index 1326898d608e..d9a942842382 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/fweh.h
+++ b/drivers/net/wireless/brcm80211/brcmfmac/fweh.h
@@ -230,12 +230,14 @@ typedef int (*brcmf_fweh_handler_t)(struct brcmf_if *ifp,
/**
* struct brcmf_fweh_info - firmware event handling information.
*
+ * @p2pdev_setup_ongoing: P2P device creation in progress.
* @event_work: event worker.
* @evt_q_lock: lock for event queue protection.
* @event_q: event queue.
* @evt_handler: registered event handlers.
*/
struct brcmf_fweh_info {
+ bool p2pdev_setup_ongoing;
struct work_struct event_work;
spinlock_t evt_q_lock;
struct list_head event_q;
@@ -255,6 +257,7 @@ void brcmf_fweh_unregister(struct brcmf_pub *drvr,
int brcmf_fweh_activate_events(struct brcmf_if *ifp);
void brcmf_fweh_process_event(struct brcmf_pub *drvr,
struct brcmf_event *event_packet);
+void brcmf_fweh_p2pdev_setup(struct brcmf_if *ifp, bool ongoing);
static inline void brcmf_fweh_process_skb(struct brcmf_pub *drvr,
struct sk_buff *skb)