mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-30 22:26:55 +00:00
wifi: mac80211: properly set old_links when removing a link
[ Upstream commita8f62399da
] In ieee80211_sta_remove_link, valid_links is set to the new_links before calling drv_change_sta_links, but is used for the old_links. Fixes:cb71f1d136
("wifi: mac80211: add sta link addition/removal") Signed-off-by: Shaul Triebitz <shaul.triebitz@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
aed931fd3b
commit
6b7a818719
1 changed files with 2 additions and 2 deletions
|
@ -2799,6 +2799,7 @@ int ieee80211_sta_activate_link(struct sta_info *sta, unsigned int link_id)
|
|||
void ieee80211_sta_remove_link(struct sta_info *sta, unsigned int link_id)
|
||||
{
|
||||
struct ieee80211_sub_if_data *sdata = sta->sdata;
|
||||
u16 old_links = sta->sta.valid_links;
|
||||
|
||||
lockdep_assert_held(&sdata->local->sta_mtx);
|
||||
|
||||
|
@ -2806,8 +2807,7 @@ void ieee80211_sta_remove_link(struct sta_info *sta, unsigned int link_id)
|
|||
|
||||
if (test_sta_flag(sta, WLAN_STA_INSERTED))
|
||||
drv_change_sta_links(sdata->local, sdata, &sta->sta,
|
||||
sta->sta.valid_links,
|
||||
sta->sta.valid_links & ~BIT(link_id));
|
||||
old_links, sta->sta.valid_links);
|
||||
|
||||
sta_remove_link(sta, link_id, true);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue