wifi: mac80211: prohibit IEEE80211_HT_CAP_DELAY_BA with MLO
authorJohannes Berg <johannes.berg@intel.com>
Fri, 30 Sep 2022 10:54:30 +0000 (12:54 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 7 Oct 2022 13:24:26 +0000 (15:24 +0200)
This won't work right at least with the code as it is, so
at least for now just assume it's never set for MLO. It may
very well never change, almost no drivers support it.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/main.c

index 25e72812000e855e4332aab6a2d6826d60c83e66..425793dd7c9c37aabac33aa8173252d4cd1d0052 100644 (file)
@@ -1087,6 +1087,16 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
 
                channels += sband->n_channels;
 
+               /*
+                * Due to the way the aggregation code handles this and it
+                * being an HT capability, we can't really support delayed
+                * BA in MLO (yet).
+                */
+               if (WARN_ON(sband->ht_cap.ht_supported &&
+                           (sband->ht_cap.cap & IEEE80211_HT_CAP_DELAY_BA) &&
+                           hw->wiphy->flags & WIPHY_FLAG_SUPPORTS_MLO))
+                       return -EINVAL;
+
                if (max_bitrates < sband->n_bitrates)
                        max_bitrates = sband->n_bitrates;
                supp_ht = supp_ht || sband->ht_cap.ht_supported;