[PATCH] wiphy: check if ht_capabilities are actually set
berend <[email protected]> Thu, 25 Dec 2025 18:26:57 +0000
| Newsgroups | dev.linux.lists.iwd |
|---|---|
| Message-ID | <[email protected]> |
commit 928fba083c87147603702907940d7c263e62e4dd (HEAD -> master) Author: Berend De Schouwer <[email protected]> Date: Thu Dec 25 17:31:49 2025 +0200 wiphy: check if ht_capabilities are actually set Some devices set HT, but only provide HT20. When this is true, ap_validate_band_channel() will succeed with 40MHz width, but the device will refuse to start an AP. diff --git a/src/wiphy.c b/src/wiphy.c index b6774f69..85e31cf1 100644 --- a/src/wiphy.c +++ b/src/wiphy.c @@ -1676,6 +1676,18 @@ static void parse_band_iftype_data(struct band *band, struct l_genl_attr *ifdata } } +static bool parse_ht_capabilities(struct band *band) +{ + if (test_bit(band->ht_capabilities, 1)) + return true; + + if (test_bit(band->ht_capabilities, 6)) + return true; + + l_debug("no real 40 MHz found"); + return false; +} + static void parse_supported_bands(struct wiphy *wiphy, struct l_genl_attr *bands) { @@ -1772,7 +1784,6 @@ static void parse_supported_bands(struct wiphy *wiphy, continue; memcpy(band->ht_mcs_set, data, len); - band->ht_supported = true; break; case NL80211_BAND_ATTR_HT_CAPA: if (L_WARN_ON(len != @@ -1780,7 +1791,7 @@ static void parse_supported_bands(struct wiphy *wiphy, continue; memcpy(band->ht_capabilities, data, len); - band->ht_supported = true; + band->ht_supported = parse_ht_capabilities(band); break; /* * AMPDU factor/density are part of A-MPDU Parameters,
publickey - Berend De Schouwer - 0x128CD671.asc
(application/pgp-keys, 3.1 KB)
-----BEGIN PGP PUBLIC KEY BLOCK----- Comment: https://gopenpgp.org Version: GopenPGP 2.8.2 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 i4ZPyDBc3n68rqs= =9SXl -----END PGP PUBLIC KEY BLOCK-----
signature.asc
(application/pgp-signature, 928 B)
-----BEGIN PGP SIGNATURE----- Version: ProtonMail wsGpBAEBCABdBYJpTYHvCZDbbuBxk4Cg6TUUAAAAAAAcABBzYWx0QG5vdGF0 aW9ucy5vcGVucGdwanMub3JnbInCLrujNOu4isZ++fzuFBYhBBKM1nGLSON6 q6UFAttu4HGTgKDpAADcTRAAll6KYySoYywsXOpvYk0kN2KK3+CBqaxKDQ1u RmpORsJiQpAyiJPIz70pwzM1JweZAlA4Y3gOAutKoBFuL26eKHeloki4Shd/ vl2bkRSuXa9/gi5sFiwKsojD3s3Hw6Xr9QnLV21eSnSxOcCaMopYbbVnkdA5 vlsOIa24YFPqnceXW75YSiXV8DWSxyZFrKbdWn/Sfh2nq/1fs3MlJZduoqxG xEFN23PeK8dLS+F2sjDlqWTbGXxe6bc2SQgyqWKM8MtwwFKtT1F3N00+qJ7+ LzTq2Cc0ouaqf5/erTLgtDUnsI/NsjVk2ZkK0selQ7KjP8dmImLOjPQvGppf htLna0SIUB/ugkukvZw1o6YtK0+KbmfCBN9VJgvhWg4m5iN/7eiSMJxsQvul qPIk2aycUrVBDHItFXaOTW6ncHb7TZdZ6cgpe/91fD8Orqy52mWHLMFaCnim hOpzI97VU6l69SyIfVHqmli+VDG43FODULPRuefNh61iSs4UKPryQzCbc6IK 8RuivBZHWEVMVuUU/YqQWYM/hz/JTkFMQQ8KdsKIpnqEEjTAjySNE7le7fKb tX1UXceXlaJOGSbP3/3aq3GuKzwEjynd754zeBYaoZfo1MwkkGq2ruLb3Kww 7A4tt60EAru4TWNfHO26AiorXb2sv/dgPHwxmQ2mbjczejU= =VqWh -----END PGP SIGNATURE-----