Search Linux Wireless

[PATCH wireless-next 0/2] wifi: mac80211: extend beacon and connection monitoring for MLO

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Currently, reset beacon monitor (ieee80211_sta_reset_beacon_monitor()) and
reset connection monitor timers (ieee80211_sta_reset_conn_monitor()) are
handled only for non-AP non-MLD STA and do not support non-AP MLD STA.

When the beacon loss/connection loss occurs in non-AP MLD STA with the
current implementation, it is treated as a single link and the timers are
reset based on the timeout of the deflink, without checking all the links.

Check the CSA flags for all the links in the MLO and decide whether to
schedule the work queue for beacon loss. If any of the links has CSA
active, then beacon loss work is not scheduled in
ieee80211_sta_reset_beacon_monitor().

In ieee80211_sta_reset_conn_monitor(), the CSA flags of all links are
checked. The connection monitoring logic proceeds only if none of the links
have CSA active. The timeout is determined based on the link that will
expire last among all links. If at least one link has not timed out,
the timer is updated accordingly. The connection loss work is scheduled
only when all links have timed out.

Also, call the functions ieee80211_sta_reset_beacon_monitor() and
ieee80211_sta_reset_conn_monitor() from ieee80211_csa_switch_work() only
when all the links are CSA active.

Since the beacon and connection monitoring logic now supports MLO, remove
the MLO-related WARN_ON() checks in these paths.
Maharaja Kennadyrajan (2):
  wifi: mac80211: extend beacon monitoring for MLO
  wifi: mac80211: extend connection monitoring for MLO

 net/mac80211/mlme.c | 123 +++++++++++++++++++++++++++++++++-----------
 1 file changed, 93 insertions(+), 30 deletions(-)


base-commit: 1b98f357dadd6ea613a435fbaef1a5dd7b35fd21
-- 
2.17.1





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux