diff options
author | Arend van Spriel <arend@broadcom.com> | 2011-02-10 11:03:51 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-02-18 20:52:50 (GMT) |
commit | 6677eaa335680f75fdc3aa1dae7557f1ed446491 (patch) | |
tree | ec8cc57c967c93fe7a536dedfca04d7e05cdf6cf /drivers | |
parent | c234656fa33224860f648fba3e35f0b80cbe53d4 (diff) | |
download | linux-fsl-qoriq-6677eaa335680f75fdc3aa1dae7557f1ed446491.tar.xz |
staging: brcm80211: store BSSID in driver config information
When mac80211 informs about new BSSID this was configured toward
the hardware device, but the information is also needed inside
the driver itself. This patch takes care of that.
Reviewed-by: Roland Vossen <rvossen@broadcom.com>
Reviewed-by: Brett Rudley <brudley@broadcom.com>
Reviewed-by: Henry Ptasinski <henryp@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/staging/brcm80211/brcmsmac/wl_mac80211.c | 1 | ||||
-rw-r--r-- | drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/drivers/staging/brcm80211/brcmsmac/wl_mac80211.c b/drivers/staging/brcm80211/brcmsmac/wl_mac80211.c index da86103..55ea876 100644 --- a/drivers/staging/brcm80211/brcmsmac/wl_mac80211.c +++ b/drivers/staging/brcm80211/brcmsmac/wl_mac80211.c @@ -380,7 +380,6 @@ wl_ops_bss_info_changed(struct ieee80211_hw *hw, /* BSSID changed, for whatever reason (IBSS and managed mode) */ WL_NONE("%s: new BSSID: aid %d bss:%pM\n", __func__, info->aid, info->bssid); - /* FIXME: need to store bssid in bsscfg */ wlc_set_addrmatch(wl->wlc, RCM_BSSID_OFFSET, info->bssid); } diff --git a/drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c b/drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c index 76d78c1..a25b9d9 100644 --- a/drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c +++ b/drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c @@ -16,6 +16,7 @@ #include <linux/kernel.h> #include <linux/ctype.h> #include <linux/etherdevice.h> +#include <linux/string.h> #include <bcmdefs.h> #include <bcmdevs.h> #include <wlc_cfg.h> @@ -8342,6 +8343,8 @@ wlc_set_addrmatch(struct wlc_info *wlc, int match_reg_offset, const u8 *addr) { wlc_bmac_set_addrmatch(wlc->hw, match_reg_offset, addr); + if (match_reg_offset == RCM_BSSID_OFFSET) + memcpy(wlc->cfg->BSSID, addr, ETH_ALEN); } void wlc_set_rcmta(struct wlc_info *wlc, int idx, const u8 *addr) |