Commit 8c7c6b58 authored by Johannes Berg's avatar Johannes Berg

wifi: mac80211: expect powersave handling in driver for MLO

In MLO, expect the driver fully handles powersave handling,
including tracking whether or not a beacon was received,
the DTIM period, etc.
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent a3b8008d
...@@ -984,7 +984,8 @@ int ieee80211_register_hw(struct ieee80211_hw *hw) ...@@ -984,7 +984,8 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
return -EINVAL; return -EINVAL;
if (WARN_ON(ieee80211_hw_check(hw, SUPPORTS_PS) && if (WARN_ON(ieee80211_hw_check(hw, SUPPORTS_PS) &&
!ieee80211_hw_check(hw, SUPPORTS_DYNAMIC_PS))) (!ieee80211_hw_check(hw, SUPPORTS_DYNAMIC_PS) ||
ieee80211_hw_check(hw, PS_NULLFUNC_STACK))))
return -EINVAL; return -EINVAL;
if (WARN_ON(!ieee80211_hw_check(hw, MFP_CAPABLE))) if (WARN_ON(!ieee80211_hw_check(hw, MFP_CAPABLE)))
......
...@@ -1786,6 +1786,7 @@ static void ieee80211_change_ps(struct ieee80211_local *local) ...@@ -1786,6 +1786,7 @@ static void ieee80211_change_ps(struct ieee80211_local *local)
static bool ieee80211_powersave_allowed(struct ieee80211_sub_if_data *sdata) static bool ieee80211_powersave_allowed(struct ieee80211_sub_if_data *sdata)
{ {
struct ieee80211_local *local = sdata->local;
struct ieee80211_if_managed *mgd = &sdata->u.mgd; struct ieee80211_if_managed *mgd = &sdata->u.mgd;
struct sta_info *sta = NULL; struct sta_info *sta = NULL;
bool authorized = false; bool authorized = false;
...@@ -1802,7 +1803,8 @@ static bool ieee80211_powersave_allowed(struct ieee80211_sub_if_data *sdata) ...@@ -1802,7 +1803,8 @@ static bool ieee80211_powersave_allowed(struct ieee80211_sub_if_data *sdata)
if (mgd->flags & IEEE80211_STA_CONNECTION_POLL) if (mgd->flags & IEEE80211_STA_CONNECTION_POLL)
return false; return false;
if (!sdata->deflink.u.mgd.have_beacon) if (!(local->hw.wiphy->flags & WIPHY_FLAG_SUPPORTS_MLO) &&
!sdata->deflink.u.mgd.have_beacon)
return false; return false;
rcu_read_lock(); rcu_read_lock();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment