aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorArend van Spriel <arend@broadcom.com>2013-04-03 06:40:49 -0400
committerJohn W. Linville <linville@tuxdriver.com>2013-04-03 15:07:08 -0400
commit290fb763a2a7c79c45d09c8523f37e96446a5a91 (patch)
tree95e7028f8b02c81cfd1a8d075e54051f54c69069 /drivers
parent47829f4fc4825ad3a50389a682a6ea954664ba79 (diff)
brcmfmac: no flow-control tlv signals when fcmode is NONE
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@broadcom.com> Reviewed-by: Piotr Haber <phaber@broadcom.com> Reviewed-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')
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c b/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c
index 430baa249465..22a6eb2c7bf7 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)
1221 1221
1222int brcmf_fws_init(struct brcmf_pub *drvr) 1222int brcmf_fws_init(struct brcmf_pub *drvr)
1223{ 1223{
1224 u32 tlv = 0; 1224 u32 tlv = BRCMF_FWS_FLAGS_RSSI_SIGNALS;
1225 int rc; 1225 int rc;
1226 1226
1227 if (!drvr->fw_signals) 1227 if (!drvr->fw_signals)
1228 return 0; 1228 return 0;
1229 1229
1230 tlv = BRCMF_FWS_FLAGS_RSSI_SIGNALS |
1231 BRCMF_FWS_FLAGS_XONXOFF_SIGNALS |
1232 BRCMF_FWS_FLAGS_CREDIT_STATUS_SIGNALS;
1233
1234 spin_lock_init(&drvr->fws_spinlock); 1230 spin_lock_init(&drvr->fws_spinlock);
1235 1231
1236 drvr->fws = kzalloc(sizeof(*(drvr->fws)), GFP_KERNEL); 1232 drvr->fws = kzalloc(sizeof(*(drvr->fws)), GFP_KERNEL);
@@ -1243,7 +1239,11 @@ int brcmf_fws_init(struct brcmf_pub *drvr)
1243 drvr->fws->drvr = drvr; 1239 drvr->fws->drvr = drvr;
1244 drvr->fws->fcmode = fcmode; 1240 drvr->fws->fcmode = fcmode;
1245 1241
1246 /* enable proptxtstatus signaling by default */ 1242 /* enable firmware signalling if fcmode active */
1243 if (drvr->fws->fcmode != BRCMF_FWS_FCMODE_NONE)
1244 tlv |= BRCMF_FWS_FLAGS_XONXOFF_SIGNALS |
1245 BRCMF_FWS_FLAGS_CREDIT_STATUS_SIGNALS;
1246
1247 rc = brcmf_fil_iovar_int_set(drvr->iflist[0], "tlv", tlv); 1247 rc = brcmf_fil_iovar_int_set(drvr->iflist[0], "tlv", tlv);
1248 if (rc < 0) { 1248 if (rc < 0) {
1249 brcmf_err("failed to set bdcv2 tlv signaling\n"); 1249 brcmf_err("failed to set bdcv2 tlv signaling\n");