Commit 6677eaa3 authored by Arend van Spriel's avatar Arend van Spriel Committed by Greg Kroah-Hartman

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: default avatarRoland Vossen <rvossen@broadcom.com>
Reviewed-by: default avatarBrett Rudley <brudley@broadcom.com>
Reviewed-by: default avatarHenry Ptasinski <henryp@broadcom.com>
Signed-off-by: default avatarArend van Spriel <arend@broadcom.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent c234656f
...@@ -380,7 +380,6 @@ wl_ops_bss_info_changed(struct ieee80211_hw *hw, ...@@ -380,7 +380,6 @@ wl_ops_bss_info_changed(struct ieee80211_hw *hw,
/* BSSID changed, for whatever reason (IBSS and managed mode) */ /* BSSID changed, for whatever reason (IBSS and managed mode) */
WL_NONE("%s: new BSSID: aid %d bss:%pM\n", __func__, WL_NONE("%s: new BSSID: aid %d bss:%pM\n", __func__,
info->aid, info->bssid); info->aid, info->bssid);
/* FIXME: need to store bssid in bsscfg */
wlc_set_addrmatch(wl->wlc, RCM_BSSID_OFFSET, wlc_set_addrmatch(wl->wlc, RCM_BSSID_OFFSET,
info->bssid); info->bssid);
} }
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/ctype.h> #include <linux/ctype.h>
#include <linux/etherdevice.h> #include <linux/etherdevice.h>
#include <linux/string.h>
#include <bcmdefs.h> #include <bcmdefs.h>
#include <bcmdevs.h> #include <bcmdevs.h>
#include <wlc_cfg.h> #include <wlc_cfg.h>
...@@ -8342,6 +8343,8 @@ wlc_set_addrmatch(struct wlc_info *wlc, int match_reg_offset, ...@@ -8342,6 +8343,8 @@ wlc_set_addrmatch(struct wlc_info *wlc, int match_reg_offset,
const u8 *addr) const u8 *addr)
{ {
wlc_bmac_set_addrmatch(wlc->hw, match_reg_offset, 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) void wlc_set_rcmta(struct wlc_info *wlc, int idx, const u8 *addr)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment