git: 3f62f8ef5e40 - main - iwn: use ieee80211_ht_check_tx_shortgi_20() and ieee80211_ht_check_tx_shortgi_40()
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 03 Dec 2024 05:32:36 UTC
The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=3f62f8ef5e4001ba7a2a9324e10a508eea15b68c commit 3f62f8ef5e4001ba7a2a9324e10a508eea15b68c Author: Adrian Chadd <adrian@FreeBSD.org> AuthorDate: 2024-11-25 23:13:32 +0000 Commit: Adrian Chadd <adrian@FreeBSD.org> CommitDate: 2024-12-03 05:31:39 +0000 iwn: use ieee80211_ht_check_tx_shortgi_20() and ieee80211_ht_check_tx_shortgi_40() Use the new net80211 routines to check the node width and the local / node flags. This should be "more" correct than the previous code. Differential Revision: https://reviews.freebsd.org/D47750 Reviewed by: bz --- sys/dev/iwn/if_iwn.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/sys/dev/iwn/if_iwn.c b/sys/dev/iwn/if_iwn.c index 50d50fdc473c..db3eb37ced9e 100644 --- a/sys/dev/iwn/if_iwn.c +++ b/sys/dev/iwn/if_iwn.c @@ -2812,23 +2812,18 @@ iwn_rate_to_plcp(struct iwn_softc *sc, struct ieee80211_node *ni, */ plcp = IEEE80211_RV(rate) | IWN_RFLAG_MCS; - /* - * XXX the following should only occur if both - * the local configuration _and_ the remote node - * advertise these capabilities. Thus this code - * may need fixing! - */ - /* * Set the channel width and guard interval. + * + * Take into account the local configuration and + * the node/peer advertised abilities. */ if (IEEE80211_IS_CHAN_HT40(ni->ni_chan)) { plcp |= IWN_RFLAG_HT40; - if (ni->ni_htcap & IEEE80211_HTCAP_SHORTGI40) + if (ieee80211_ht_check_tx_shortgi_40(ni)) plcp |= IWN_RFLAG_SGI; - } else if (ni->ni_htcap & IEEE80211_HTCAP_SHORTGI20) { + } else if (ieee80211_ht_check_tx_shortgi_20(ni)) plcp |= IWN_RFLAG_SGI; - } /* * Ensure the selected rate matches the link quality