All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Arend van Spriel" <arend@broadcom.com>
To: "John W. Linville" <linville@tuxdriver.com>
Cc: linux-wireless <linux-wireless@vger.kernel.org>,
	"Hante Meuleman" <meuleman@broadcom.com>,
	"Arend van Spriel" <arend@broadcom.com>
Subject: [PATCH for 3.10 13/16] brcmfmac: Accept only first creditmap event.
Date: Wed, 29 May 2013 18:39:03 +0200	[thread overview]
Message-ID: <1369845546-31950-14-git-send-email-arend@broadcom.com> (raw)
In-Reply-To: <1369845546-31950-1-git-send-email-arend@broadcom.com>

From: Hante Meuleman <meuleman@broadcom.com>

During P2P testing it turned out that the firmware sents multiple
multiple creditmap event messages. Only the first message from the
firmware should be processed. Otherwise the firmware-signalled flow
control can run haywire when it has packets outstanding in firmware.

Reviewed-by: Arend Van Spriel <arend@broadcom.com>
Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
---
 drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c b/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c
index b11a51b..dd47796 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c
@@ -438,6 +438,7 @@ struct brcmf_fws_info {
 	u32 fifo_delay_map;
 	unsigned long borrow_defer_timestamp;
 	bool bus_flow_blocked;
+	bool creditmap_received;
 };
 
 /*
@@ -1432,6 +1433,10 @@ static int brcmf_fws_notify_credit_map(struct brcmf_if *ifp,
 		brcmf_err("event payload too small (%d)\n", e->datalen);
 		return -EINVAL;
 	}
+	if (fws->creditmap_received)
+		return 0;
+
+	fws->creditmap_received = true;
 
 	brcmf_dbg(TRACE, "enter: credits %pM\n", credits);
 	brcmf_fws_lock(ifp->drvr, flags);
-- 
1.7.10.4



  parent reply	other threads:[~2013-05-29 16:39 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-29 16:38 [PATCH for 3.10 00/16] brcmfmac: firmware-signalling fixes Arend van Spriel
2013-05-29 16:38 ` [PATCH for 3.10 01/16] brcmfmac: allow firmware-signal tlv to be longer than specified Arend van Spriel
2013-05-29 16:38 ` [PATCH for 3.10 02/16] brcmfmac: remove fifo bitfield from brcmf_skbuff_cb::if_flags Arend van Spriel
2013-05-29 16:38 ` [PATCH for 3.10 03/16] brcmfmac: Take bus flowcontrol at credit mgmt into account Arend van Spriel
2013-05-29 16:38 ` [PATCH for 3.10 04/16] brcmfmac: rework credit pickup to assure consistent handling Arend van Spriel
2013-05-29 16:38 ` [PATCH for 3.10 05/16] brcmfmac: explicitly indicate sk_buff is sent upon request credit Arend van Spriel
2013-05-29 16:38 ` [PATCH for 3.10 06/16] brcmfmac: reducing debug logging in firmware-signalling code Arend van Spriel
2013-05-29 16:38 ` [PATCH for 3.10 07/16] brcmfmac: On bus flow control use fw signalling or netif Arend van Spriel
2013-05-29 16:38 ` [PATCH for 3.10 08/16] brcmfmac: For FW signalling it is necessary to track gen bit Arend van Spriel
2013-05-29 16:38 ` [PATCH for 3.10 09/16] brcmfmac: Correct creditmap when credit borrowing is active Arend van Spriel
2013-05-29 16:39 ` [PATCH for 3.10 10/16] brcmfmac: Sent TIM information in case of data available Arend van Spriel
2013-05-29 16:39 ` [PATCH for 3.10 11/16] brcmfmac: Find correct MAC descriptor in case of TDLS Arend van Spriel
2013-05-29 16:39 ` [PATCH for 3.10 12/16] brcmfmac: fix invalid ifp lookup in firmware-signalling Arend van Spriel
2013-05-29 16:39 ` Arend van Spriel [this message]
2013-05-29 16:39 ` [PATCH for 3.10 14/16] brcmfmac: Signalling header push and pull on logic places Arend van Spriel
2013-05-29 16:39 ` [PATCH for 3.10 15/16] brcmfmac: Fix endless loop when brcmf_fws_commit_skb fails Arend van Spriel
2013-05-29 16:39 ` [PATCH for 3.10 16/16] brcmfmac: Simplify counting transit count Arend van Spriel
2013-05-29 16:47 ` [PATCH for 3.10 00/16] brcmfmac: firmware-signalling fixes Arend van Spriel
2013-05-29 18:44 ` John W. Linville
2013-05-29 19:23   ` Arend van Spriel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1369845546-31950-14-git-send-email-arend@broadcom.com \
    --to=arend@broadcom.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=meuleman@broadcom.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.