git: 4836b8ac0ed3 - stable/13 - LinuxKPI: 802.11: use cfg80211_chandef_create()
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 27 Mar 2022 20:14:11 UTC
The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=4836b8ac0ed3a3b155a7fb5f2322221f48c81687 commit 4836b8ac0ed3a3b155a7fb5f2322221f48c81687 Author: Bjoern A. Zeeb <bz@FreeBSD.org> AuthorDate: 2022-03-24 15:43:22 +0000 Commit: Bjoern A. Zeeb <bz@FreeBSD.org> CommitDate: 2022-03-27 18:12:17 +0000 LinuxKPI: 802.11: use cfg80211_chandef_create() Rather than manually setting up a chandef and then effectively forcing a memcpy, use cfg80211_chandef_create() to do the work for us entirely. This works here as we do not store the resulting chandef separately for other use. While here remove a duplicate assignment in cfg80211_chandef_create(). Sponsored by: The FreeBSD Foundation (cherry picked from commit 4a07abdeb8ce5271996d85f648832e3d7bc741a7) --- sys/compat/linuxkpi/common/include/net/cfg80211.h | 2 +- sys/compat/linuxkpi/common/src/linux_80211.c | 14 +++----------- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index 896559247620..64aef659c771 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -1166,9 +1166,9 @@ cfg80211_chandef_create(struct cfg80211_chan_def *chandef, KASSERT(chandef != NULL, ("%s: chandef is NULL\n", __func__)); KASSERT(chan != NULL, ("%s: chan is NULL\n", __func__)); + memset(chandef, 0, sizeof(*chandef)); chandef->chan = chan; chandef->center_freq2 = 0; /* Set here and only overwrite if needed. */ - chandef->chan = chan; switch (chan_flag) { case NL80211_CHAN_NO_HT: diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 4805097fcd4f..e9e75488882a 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -2629,7 +2629,6 @@ lkpi_ic_set_channel(struct ieee80211com *ic) } else { struct ieee80211_channel *c = ic->ic_curchan; struct linuxkpi_ieee80211_channel *chan; - struct cfg80211_chan_def chandef; if (c == NULL || c == IEEE80211_CHAN_ANYC || lhw->ops->config == NULL) { @@ -2645,16 +2644,12 @@ lkpi_ic_set_channel(struct ieee80211com *ic) return; } - memset(&chandef, 0, sizeof(chandef)); - chandef.chan = chan; - chandef.width = NL80211_CHAN_WIDTH_20_NOHT; - chandef.center_freq1 = chandef.chan->center_freq; - /* XXX max power for scanning? */ IMPROVE(); hw = LHW_TO_HW(lhw); - hw->conf.chandef = chandef; + cfg80211_chandef_create(&hw->conf.chandef, chan, + NL80211_CHAN_NO_HT); error = lkpi_80211_mo_config(hw, IEEE80211_CONF_CHANGE_CHANNEL); if (error != 0 && error != EOPNOTSUPP) { @@ -3430,15 +3425,12 @@ linuxkpi_ieee80211_ifattach(struct ieee80211_hw *hw) channels = supband->channels; for (i = 0; i < supband->n_channels; i++) { - struct cfg80211_chan_def chandef; if (channels[i].flags & IEEE80211_CHAN_DISABLED) continue; - memset(&chandef, 0, sizeof(chandef)); - cfg80211_chandef_create(&chandef, &channels[i], + cfg80211_chandef_create(&hw->conf.chandef, &channels[i], NL80211_CHAN_NO_HT); - hw->conf.chandef = chandef; break; } }