diff options
author | Bjoern A. Zeeb <bz@FreeBSD.org> | 2023-09-21 11:58:17 +0000 |
---|---|---|
committer | Bjoern A. Zeeb <bz@FreeBSD.org> | 2023-10-09 23:14:53 +0000 |
commit | a965d1ebd3adc68bf3c445dc0d5c1db8cf5bd867 (patch) | |
tree | 688a6dacac435acb7eff4c0ed0a4ae08e00ecbab | |
parent | 6052271ca82b6ba3c29f04fa581280ace569b264 (diff) | |
download | src-a965d1ebd3adc68bf3c445dc0d5c1db8cf5bd867.tar.gz src-a965d1ebd3adc68bf3c445dc0d5c1db8cf5bd867.zip |
LinuxKPI: 802.11: mac80211 ops: distinguish between {bss,link}_info_changed
With MLO and multi-link setups if avail we want to call link_info_changed
whereas for legacy drivers we still need to call bss_info_changed.
While we currently do not (yet) support multi-link configurations
we still need to drive the correct commands to satisfy firmware
requirements.
Sponsored by: The FreeBSD Foundation
Approved by: re (gjb)
(cherry picked from commit 727f88f2617acaff4ada0f3dda6ca23c6679310d)
(cherry picked from commit ad79da1b1ad323a00329c1c80fe9b90eb1e434b2)
-rw-r--r-- | sys/compat/linuxkpi/common/src/linux_80211_macops.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/compat/linuxkpi/common/src/linux_80211_macops.c b/sys/compat/linuxkpi/common/src/linux_80211_macops.c index c386c096add7..97a72a95e418 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211_macops.c +++ b/sys/compat/linuxkpi/common/src/linux_80211_macops.c @@ -538,14 +538,17 @@ lkpi_80211_mo_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vi struct lkpi_hw *lhw; lhw = HW_TO_LHW(hw); - if (lhw->ops->bss_info_changed == NULL) + if (lhw->ops->link_info_changed == NULL && + lhw->ops->bss_info_changed == NULL) return; LKPI_80211_TRACE_MO("hw %p vif %p conf %p changed %#jx", hw, vif, conf, (uintmax_t)changed); - lhw->ops->bss_info_changed(hw, vif, conf, changed); + if (lhw->ops->link_info_changed != NULL) + lhw->ops->link_info_changed(hw, vif, conf, changed); + else + lhw->ops->bss_info_changed(hw, vif, conf, changed); } - int lkpi_80211_mo_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, uint16_t ac, const struct ieee80211_tx_queue_params *txqp) |