--- zzzz-none-000/linux-5.15.111/drivers/net/wireless/ath/ath6kl/cfg80211.c 2023-05-11 14:00:40.000000000 +0000 +++ puma7-atom-6670-761/linux-5.15.111/drivers/net/wireless/ath/ath6kl/cfg80211.c 2024-02-07 10:23:13.000000000 +0000 @@ -895,8 +895,14 @@ WLAN_STATUS_UNSPECIFIED_FAILURE, GFP_KERNEL); } else if (vif->sme_state == SME_CONNECTED) { +#ifndef CFG80211_PROP_MULTI_LINK_SUPPORT cfg80211_disconnected(vif->ndev, proto_reason, NULL, 0, false, GFP_KERNEL); +#else /* CFG80211_PROP_MULTI_LINK_SUPPORT */ + cfg80211_disconnected(vif->ndev, proto_reason, + NULL, 0, false, + NL80211_MLO_INVALID_LINK_ID, GFP_KERNEL); +#endif /* CFG80211_PROP_MULTI_LINK_SUPPORT */ } vif->sme_state = SME_DISCONNECTED; @@ -2967,7 +2973,12 @@ return ath6kl_set_ies(vif, beacon); } +#ifndef CFG80211_PROP_MULTI_LINK_SUPPORT static int ath6kl_stop_ap(struct wiphy *wiphy, struct net_device *dev) +#else /* CFG80211_PROP_MULTI_LINK_SUPPORT */ +static int ath6kl_stop_ap(struct wiphy *wiphy, struct net_device *dev, + struct cfg80211_ap_settings *settings) +#endif /* CFG80211_PROP_MULTI_LINK_SUPPORT */ { struct ath6kl *ar = ath6kl_priv(dev); struct ath6kl_vif *vif = netdev_priv(dev); @@ -3484,7 +3495,12 @@ GFP_KERNEL); break; case SME_CONNECTED: +#ifndef CFG80211_PROP_MULTI_LINK_SUPPORT cfg80211_disconnected(vif->ndev, 0, NULL, 0, true, GFP_KERNEL); +#else /* CFG80211_PROP_MULTI_LINK_SUPPORT */ + cfg80211_disconnected(vif->ndev, 0, NULL, 0, true, + NL80211_MLO_INVALID_LINK_ID, GFP_KERNEL); +#endif /* CFG80211_PROP_MULTI_LINK_SUPPORT */ break; }