Search Linux Wireless

[PATCH 24/25] brcmfmac: no flow-control tlv signals when fcmode is NONE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The fcmode provided by module parameter defaults to NONE, which
means no flow-control is required. In this case flow-control
signals should not be enabled.

Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx>
Reviewed-by: Piotr Haber <phaber@xxxxxxxxxxxx>
Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx>
Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx>
---
 drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c |   12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c b/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c
index 430baa2..22a6eb2 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c
@@ -1221,16 +1221,12 @@ void brcmf_fws_del_interface(struct brcmf_if *ifp)
 
 int brcmf_fws_init(struct brcmf_pub *drvr)
 {
-	u32 tlv = 0;
+	u32 tlv = BRCMF_FWS_FLAGS_RSSI_SIGNALS;
 	int rc;
 
 	if (!drvr->fw_signals)
 		return 0;
 
-	tlv = BRCMF_FWS_FLAGS_RSSI_SIGNALS |
-	      BRCMF_FWS_FLAGS_XONXOFF_SIGNALS |
-	      BRCMF_FWS_FLAGS_CREDIT_STATUS_SIGNALS;
-
 	spin_lock_init(&drvr->fws_spinlock);
 
 	drvr->fws = kzalloc(sizeof(*(drvr->fws)), GFP_KERNEL);
@@ -1243,7 +1239,11 @@ int brcmf_fws_init(struct brcmf_pub *drvr)
 	drvr->fws->drvr = drvr;
 	drvr->fws->fcmode = fcmode;
 
-	/* enable proptxtstatus signaling by default */
+	/* enable firmware signalling if fcmode active */
+	if (drvr->fws->fcmode != BRCMF_FWS_FCMODE_NONE)
+		tlv |= BRCMF_FWS_FLAGS_XONXOFF_SIGNALS |
+		       BRCMF_FWS_FLAGS_CREDIT_STATUS_SIGNALS;
+
 	rc = brcmf_fil_iovar_int_set(drvr->iflist[0], "tlv", tlv);
 	if (rc < 0) {
 		brcmf_err("failed to set bdcv2 tlv signaling\n");
-- 
1.7.10.4


--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux