Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+0 −1
Original line number Original line Diff line number Diff line
@@ -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);
	}
	}
+3 −0
Original line number Original line Diff line number Diff line
@@ -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,
		  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)