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

Commit d1844d77 authored by Lennert Buytenhek's avatar Lennert Buytenhek Committed by John W. Linville
Browse files

mwl8k: don't overwrite mwl8k_vif::bssid until after disassociation



When disassociating, mac80211 zeroes vif->bss_info.bssid before
calling our ->bss_info_changed(), but we need the BSSID to remove the
hardware station database entry for our AP, so we can't clear our
local copy of the BSSID until after we've done that.

Signed-off-by: default avatarLennert Buytenhek <buytenh@marvell.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent d8a8dd8f
Loading
Loading
Loading
Loading
+2 −3
Original line number Original line Diff line number Diff line
@@ -3025,9 +3025,6 @@ static void mwl8k_bss_info_changed(struct ieee80211_hw *hw,
	struct mwl8k_vif *mwl8k_vif = MWL8K_VIF(vif);
	struct mwl8k_vif *mwl8k_vif = MWL8K_VIF(vif);
	int rc;
	int rc;


	if (changed & BSS_CHANGED_BSSID)
		memcpy(mwl8k_vif->bssid, info->bssid, ETH_ALEN);

	if ((changed & BSS_CHANGED_ASSOC) == 0)
	if ((changed & BSS_CHANGED_ASSOC) == 0)
		return;
		return;


@@ -3041,6 +3038,8 @@ static void mwl8k_bss_info_changed(struct ieee80211_hw *hw,
		memcpy(&mwl8k_vif->bss_info, info,
		memcpy(&mwl8k_vif->bss_info, info,
			sizeof(struct ieee80211_bss_conf));
			sizeof(struct ieee80211_bss_conf));


		memcpy(mwl8k_vif->bssid, info->bssid, ETH_ALEN);

		/* Install rates */
		/* Install rates */
		rc = mwl8k_update_rateset(hw, vif);
		rc = mwl8k_update_rateset(hw, vif);
		if (rc)
		if (rc)