aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjoern A. Zeeb <bz@FreeBSD.org>2023-09-21 11:58:17 +0000
committerBjoern A. Zeeb <bz@FreeBSD.org>2023-10-09 23:14:53 +0000
commita965d1ebd3adc68bf3c445dc0d5c1db8cf5bd867 (patch)
tree688a6dacac435acb7eff4c0ed0a4ae08e00ecbab
parent6052271ca82b6ba3c29f04fa581280ace569b264 (diff)
downloadsrc-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.c9
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)