summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorArend van Spriel <arend@broadcom.com>2011-02-10 11:03:51 (GMT)
committerGreg Kroah-Hartman <gregkh@suse.de>2011-02-18 20:52:50 (GMT)
commit6677eaa335680f75fdc3aa1dae7557f1ed446491 (patch)
treeec8cc57c967c93fe7a536dedfca04d7e05cdf6cf /drivers
parentc234656fa33224860f648fba3e35f0b80cbe53d4 (diff)
downloadlinux-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.c1
-rw-r--r--drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c3
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)