diff options
| author | Johannes Berg <johannes.berg@intel.com> | 2025-02-05 11:39:16 +0200 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-04-20 10:15:17 +0200 |
| commit | cca16fbd17b0aa1709be2373f362931c9f847108 (patch) | |
| tree | a4f297243982dfe88becc23e4099074364b16863 /include | |
| parent | c6e50cb8bf57dfa90f65303e15eab02a561f6add (diff) | |
| download | linux-cca16fbd17b0aa1709be2373f362931c9f847108.tar.gz linux-cca16fbd17b0aa1709be2373f362931c9f847108.tar.bz2 linux-cca16fbd17b0aa1709be2373f362931c9f847108.zip | |
wifi: mac80211: add strict mode disabling workarounds
[ Upstream commit 3ad4fce66e4f9d82abfc366707757e29cc14a9d2 ]
Add a strict mode where we disable certain workarounds and have
additional checks such as, for now, that VHT capabilities from
association response match those from beacon/probe response. We
can extend the checks in the future.
Make it an opt-in setting by the driver so it can be set there
in some driver-specific way, for example. Also allow setting
this one hw flag through the hwflags debugfs, by writing a new
strict=0 or strict=1 value.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20250205110958.5cecb0469479.I4a69617dc60ba0d6308416ffbc3102cfd08ba068@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/net/mac80211.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 5b712582f9a9..3b964f8834e7 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h @@ -2826,6 +2826,11 @@ struct ieee80211_txq { * implements MLO, so operation can continue on other links when one * link is switching. * + * @IEEE80211_HW_STRICT: strictly enforce certain things mandated by the spec + * but otherwise ignored/worked around for interoperability. This is a + * HW flag so drivers can opt in according to their own control, e.g. in + * testing. + * * @NUM_IEEE80211_HW_FLAGS: number of hardware flags, used for sizing arrays */ enum ieee80211_hw_flags { @@ -2885,6 +2890,7 @@ enum ieee80211_hw_flags { IEEE80211_HW_DISALLOW_PUNCTURING, IEEE80211_HW_DISALLOW_PUNCTURING_5GHZ, IEEE80211_HW_HANDLES_QUIET_CSA, + IEEE80211_HW_STRICT, /* keep last, obviously */ NUM_IEEE80211_HW_FLAGS |
