mirror of
https://github.com/torvalds/linux.git
synced 2024-11-15 16:41:58 +00:00
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>
This commit is contained in:
parent
47829f4fc4
commit
290fb763a2
@ -1221,16 +1221,12 @@ void brcmf_fws_del_interface(struct brcmf_if *ifp)
|
|||||||
|
|
||||||
int brcmf_fws_init(struct brcmf_pub *drvr)
|
int brcmf_fws_init(struct brcmf_pub *drvr)
|
||||||
{
|
{
|
||||||
u32 tlv = 0;
|
u32 tlv = BRCMF_FWS_FLAGS_RSSI_SIGNALS;
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
if (!drvr->fw_signals)
|
if (!drvr->fw_signals)
|
||||||
return 0;
|
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);
|
spin_lock_init(&drvr->fws_spinlock);
|
||||||
|
|
||||||
drvr->fws = kzalloc(sizeof(*(drvr->fws)), GFP_KERNEL);
|
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->drvr = drvr;
|
||||||
drvr->fws->fcmode = fcmode;
|
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);
|
rc = brcmf_fil_iovar_int_set(drvr->iflist[0], "tlv", tlv);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
brcmf_err("failed to set bdcv2 tlv signaling\n");
|
brcmf_err("failed to set bdcv2 tlv signaling\n");
|
||||||
|
Loading…
Reference in New Issue
Block a user