git: 21ee781ddc35 - stable/13 - LinuxKPI: 802.11: mac80211 ops: distinguish between {bss,link}_info_changed

From: Bjoern A. Zeeb <bz_at_FreeBSD.org>
Date: Wed, 29 Nov 2023 16:38:23 UTC
The branch stable/13 has been updated by bz:

URL: https://cgit.FreeBSD.org/src/commit/?id=21ee781ddc35ecad97f7d3f7b3624f7babeccc62

commit 21ee781ddc35ecad97f7d3f7b3624f7babeccc62
Author:     Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2023-09-21 11:58:17 +0000
Commit:     Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2023-11-29 16:36:07 +0000

    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
    
    (cherry picked from commit 727f88f2617acaff4ada0f3dda6ca23c6679310d)
---
 sys/compat/linuxkpi/common/src/linux_80211_macops.c | 9 ++++++---
 1 file 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 8444c3b3f245..b3b53d23f62e 100644
--- a/sys/compat/linuxkpi/common/src/linux_80211_macops.c
+++ b/sys/compat/linuxkpi/common/src/linux_80211_macops.c
@@ -540,14 +540,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,
     uint32_t link_id, uint16_t ac, const struct ieee80211_tx_queue_params *txqp)