From 933540c63f33e6ac2825d65c4b681ef3387d9146 Mon Sep 17 00:00:00 2001
From: Antoine Cotten <hello@acotten.com>
Date: Mon, 15 Aug 2022 17:53:51 +0200
Subject: [PATCH] cfg80211_roam_info compat for MLO APIs in Linux >= 6.0

The 'bssid' struct field is now under 'links.bssid'.

See also: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=efbabc11650040c64884ff3019b88c7bcc0ceb1d

Original patch by Joan Bruguera:
https://gist.github.com/joanbm/207210d74637870c01ef5a3c262a597d
---
 src/wl/sys/wl_cfg80211_hybrid.c | 4 ++++
 1 file changed, 4 insertions(+)

--- a/src/wl/sys/wl_cfg80211_hybrid.c
+++ b/src/wl/sys/wl_cfg80211_hybrid.c
@@ -2363,8 +2363,13 @@ wl_bss_roaming_done(struct wl_cfg80211_p
 	wl_update_bss_info(wl);
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0)
+	roam_info.links[0].channel = &wl->conf->channel;
+	roam_info.links[0].bssid = (u8 *)&wl->bssid;
+#else
 	roam_info.channel = &wl->conf->channel;
 	roam_info.bssid = (u8 *)&wl->bssid;
+#endif
 	roam_info.req_ie = conn_info->req_ie;
 	roam_info.req_ie_len = conn_info->req_ie_len;
 	roam_info.resp_ie = conn_info->resp_ie;
