Commit 7b063f3b authored by Jérôme Pouiller's avatar Jérôme Pouiller Committed by Greg Kroah-Hartman
Browse files

staging: wfx: avoid duplicate updating of beacon template



When ERP changes, mac80211 call wfx_bss_info_changed() with
BSS_CHANGED_ERP_* and with BSS_CHANGED_BEACON.

The driver already update beacon template because of
BSS_CHANGED_BEACON. It is not necessary to also update beacon template
because of BSS_CHANGED_ERP_*.

Signed-off-by: default avatarJérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200410133239.438347-14-Jerome.Pouiller@silabs.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 974dfbf8
Loading
Loading
Loading
Loading
+1 −11
Original line number Diff line number Diff line
@@ -725,18 +725,8 @@ void wfx_bss_info_changed(struct ieee80211_hw *hw,
		hif_keep_alive_period(wvif, info->max_idle_period *
					    USEC_PER_TU / USEC_PER_MSEC);

	if (changed & BSS_CHANGED_ERP_CTS_PROT ||
	    changed & BSS_CHANGED_ERP_PREAMBLE) {
		u8 erp_ie[3] = { WLAN_EID_ERP_INFO, 1, 0 };

	if (changed & BSS_CHANGED_ERP_CTS_PROT)
		hif_erp_use_protection(wvif, info->use_cts_prot);
		if (info->use_cts_prot)
			erp_ie[2] |= WLAN_ERP_USE_PROTECTION;
		if (info->use_short_preamble)
			erp_ie[2] |= WLAN_ERP_BARKER_PREAMBLE;
		if (wvif->vif->type != NL80211_IFTYPE_STATION)
			hif_update_ie_beacon(wvif, erp_ie, sizeof(erp_ie));
	}

	if (changed & BSS_CHANGED_ERP_SLOT)
		hif_slot_time(wvif, info->use_short_slot ? 9 : 20);