Commit 9dd6aed0 authored by Johannes Berg's avatar Johannes Berg Committed by John W. Linville
Browse files

mac80211 ibss: flush only stations belonging to current interface



When joining a new IBSS, all old stations are flushed, but currently
all stations belonging to all virtual interfaces are flushed, which
is wrong. This patch fixes it.

Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent a2e1d52a
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -2253,8 +2253,10 @@ static int ieee80211_sta_join_ibss(struct net_device *dev,

	sband = local->hw.wiphy->bands[local->hw.conf.channel->band];

	sdata = IEEE80211_DEV_TO_SUB_IF(dev);

	/* Remove possible STA entries from other IBSS networks. */
	sta_info_flush(local, NULL);
	sta_info_flush(local, sdata);

	if (local->ops->reset_tsf) {
		/* Reset own TSF to allow time synchronization work. */
@@ -2267,7 +2269,6 @@ static int ieee80211_sta_join_ibss(struct net_device *dev,

	local->hw.conf.beacon_int = bss->beacon_int >= 10 ? bss->beacon_int : 10;

	sdata = IEEE80211_DEV_TO_SUB_IF(dev);
	sdata->drop_unencrypted = bss->capability &
		WLAN_CAPABILITY_PRIVACY ? 1 : 0;