History

wifi: mac80211: fix non-MLO station association

Non-MLO station frames are dropped in Rx path due to the condition check in ieee80211_rx_is_valid_sta_link_id(). In multi-link AP scenario, non-MLO stations try to connect in any of the valid links in the ML AP, where the station valid_links and link_id params are valid in the ieee80211_sta object. But ieee80211_rx_is_valid_sta_link_id() always return false for the non-MLO stations by the assumption taken is valid_links and link_id are not valid in non-MLO stations object (ieee80211_sta), this assumption is wrong. Due to this assumption, non-MLO station frames are dropped which leads to failure in association. Fix it by removing the condition check and allow the link validation check for the non-MLO stations.

Karthikeyan Periyasamy committed 3 years ago

Commit aaacf171 parent 57b341e1 file · +0 −3Browse files

Unified · Split

net/mac80211/rx.c+0−3
@@ -4094,9 +4094,6 @@ static void ieee80211_invoke_rx_handlers(struct ieee80211_rx_data *rx) · 4093 unmodified lines
40944094 static bool
40954095 ieee80211_rx_is_valid_sta_link_id(struct ieee80211_sta *sta, u8 link_id)
40964096 {
4097− if (!sta->mlo)
4098− return false;
4099−
41004097 return !!(sta->valid_links & BIT(link_id));
41014098 }
41024099

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t