forked from Minki/linux
brcmfmac: only allocate firmware-signalling resources if required
Bail out of brcmf_fws_init() when no firmware-signalling is asked for. Need to take this into account in brcmf_fws_deinit() as well. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Piotr Haber <phaber@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
d9337414e8
commit
47829f4fc4
@ -982,8 +982,7 @@ void brcmf_detach(struct device *dev)
|
||||
if (drvr->prot)
|
||||
brcmf_proto_detach(drvr);
|
||||
|
||||
if (drvr->fws)
|
||||
brcmf_fws_deinit(drvr);
|
||||
brcmf_fws_deinit(drvr);
|
||||
|
||||
brcmf_debugfs_detach(drvr);
|
||||
bus_if->drvr = NULL;
|
||||
|
@ -1224,11 +1224,12 @@ int brcmf_fws_init(struct brcmf_pub *drvr)
|
||||
u32 tlv = 0;
|
||||
int rc;
|
||||
|
||||
/* enable rssi signals */
|
||||
if (drvr->fw_signals)
|
||||
tlv = BRCMF_FWS_FLAGS_RSSI_SIGNALS |
|
||||
BRCMF_FWS_FLAGS_XONXOFF_SIGNALS |
|
||||
BRCMF_FWS_FLAGS_CREDIT_STATUS_SIGNALS;
|
||||
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);
|
||||
|
||||
@ -1277,6 +1278,9 @@ void brcmf_fws_deinit(struct brcmf_pub *drvr)
|
||||
struct brcmf_fws_info *fws = drvr->fws;
|
||||
ulong flags;
|
||||
|
||||
if (!fws)
|
||||
return;
|
||||
|
||||
/* cleanup */
|
||||
brcmf_fws_lock(drvr, flags);
|
||||
brcmf_fws_cleanup(fws, -1);
|
||||
|
Loading…
Reference in New Issue
Block a user