diff options
author | Hante Meuleman <meuleman@broadcom.com> | 2016-01-02 09:41:38 +0100 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2016-01-07 11:21:12 +0200 |
commit | 48ed16e86b282309afa1b911271cb39fbcfb9f06 (patch) | |
tree | c826a08820bea71e8f2690044ec2c0cc6a542234 /drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c | |
parent | 3f5893d1b30a92f3fac1587750b2402c40d66651 (diff) | |
download | linux-48ed16e86b282309afa1b911271cb39fbcfb9f06.tar.bz2 |
brcmfmac: Add support for scheduled scan mac randomization
Scheduled scan be requested to use mac randomization. This patch
checks the flags and enables the randomization if desired.
Reviewed-by: Arend Van Spriel <arend@broadcom.com>
Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c')
-rw-r--r-- | drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c index d9d1ca4b93ec..e7ac8a294bb7 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c @@ -18,10 +18,12 @@ #include <linux/module.h> #include <brcm_hw_ids.h> +#include <brcmu_wifi.h> #include "core.h" #include "bus.h" #include "debug.h" #include "fwil.h" +#include "fwil_types.h" #include "feature.h" @@ -129,6 +131,8 @@ static void brcmf_feat_iovar_int_set(struct brcmf_if *ifp, void brcmf_feat_attach(struct brcmf_pub *drvr) { struct brcmf_if *ifp = brcmf_get_ifp(drvr, 0); + struct brcmf_pno_macaddr_le pfn_mac; + s32 err; brcmf_feat_iovar_int_get(ifp, BRCMF_FEAT_MCHAN, "mchan"); brcmf_feat_iovar_int_get(ifp, BRCMF_FEAT_PNO, "pfn"); @@ -140,6 +144,12 @@ void brcmf_feat_attach(struct brcmf_pub *drvr) brcmf_feat_iovar_int_get(ifp, BRCMF_FEAT_RSDB, "rsdb_mode"); brcmf_feat_iovar_int_get(ifp, BRCMF_FEAT_TDLS, "tdls_enable"); + pfn_mac.version = BRCMF_PFN_MACADDR_CFG_VER; + err = brcmf_fil_iovar_data_get(ifp, "pfn_macaddr", &pfn_mac, + sizeof(pfn_mac)); + if (!err) + ifp->drvr->feat_flags |= BIT(BRCMF_FEAT_SCAN_RANDOM_MAC); + if (brcmf_feature_disable) { brcmf_dbg(INFO, "Features: 0x%02x, disable: 0x%02x\n", ifp->drvr->feat_flags, brcmf_feature_disable); |