diff options
author | Arend van Spriel <arend@broadcom.com> | 2013-04-03 06:40:45 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-04-03 15:07:07 -0400 |
commit | bfc8bbf91f861815d0382a26b4bbc825f5531bfa (patch) | |
tree | 42ade100747eb1b64bce8090e8aed6f0d2aefeb4 /drivers | |
parent | c3203374bea328af54843bd72f9306e6c7832db4 (diff) |
brcmfmac: initialize struct brcmf_fws_info fields before iovar
If iovar to the firmware fails the firmware-signalling module
does a cleanup for which it needs pointer to struct brcmf_pub, which
it gets from struct brcmf_fws_info::drvr. Assign this field before
doing the tlv iovar.
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 | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c b/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c index 314aedc0f9b3..6d036b7e8a44 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c +++ b/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c | |||
@@ -919,6 +919,10 @@ int brcmf_fws_init(struct brcmf_pub *drvr) | |||
919 | goto fail; | 919 | goto fail; |
920 | } | 920 | } |
921 | 921 | ||
922 | /* set linkage back */ | ||
923 | drvr->fws->drvr = drvr; | ||
924 | drvr->fws->fcmode = fcmode; | ||
925 | |||
922 | /* enable proptxtstatus signaling by default */ | 926 | /* enable proptxtstatus signaling by default */ |
923 | rc = brcmf_fil_iovar_int_set(drvr->iflist[0], "tlv", tlv); | 927 | rc = brcmf_fil_iovar_int_set(drvr->iflist[0], "tlv", tlv); |
924 | if (rc < 0) { | 928 | if (rc < 0) { |
@@ -937,10 +941,6 @@ int brcmf_fws_init(struct brcmf_pub *drvr) | |||
937 | /* create debugfs file for statistics */ | 941 | /* create debugfs file for statistics */ |
938 | brcmf_debugfs_create_fws_stats(drvr, &drvr->fws->stats); | 942 | brcmf_debugfs_create_fws_stats(drvr, &drvr->fws->stats); |
939 | 943 | ||
940 | /* set linkage back */ | ||
941 | drvr->fws->drvr = drvr; | ||
942 | drvr->fws->fcmode = fcmode; | ||
943 | |||
944 | /* TODO: remove upon feature delivery */ | 944 | /* TODO: remove upon feature delivery */ |
945 | brcmf_err("%s bdcv2 tlv signaling [%x]\n", | 945 | brcmf_err("%s bdcv2 tlv signaling [%x]\n", |
946 | drvr->fw_signals ? "enabled" : "disabled", tlv); | 946 | drvr->fw_signals ? "enabled" : "disabled", tlv); |