diff options
author | Arend van Spriel <arend@broadcom.com> | 2013-04-03 06:40:49 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-04-03 15:07:08 -0400 |
commit | 290fb763a2a7c79c45d09c8523f37e96446a5a91 (patch) | |
tree | 95e7028f8b02c81cfd1a8d075e54051f54c69069 /drivers | |
parent | 47829f4fc4825ad3a50389a682a6ea954664ba79 (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.c | 12 |
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 | ||
1222 | int brcmf_fws_init(struct brcmf_pub *drvr) | 1222 | int 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"); |