[][MAC80211][misc][Fix mt7986 build fail on backport v6.1]
[Description]
Fix mt7986 build fail on backport v6.1
Update mt7915/mt7986/mt7915 gloden fimware
[Release-log]
N/A
Change-Id: Ic5c2247e206cb5221e5472421831b136887b7e9c
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/6930574
diff --git a/autobuild_mac80211_release/package/kernel/mac80211_dev/patches/subsys/99999-mac80211-mtk-fix-build-error-on-Linux-Kernel-5.4.patch b/autobuild_mac80211_release/package/kernel/mac80211_dev/patches/subsys/99999-mac80211-mtk-fix-build-error-on-Linux-Kernel-5.4.patch
new file mode 100644
index 0000000..a7bb3c4
--- /dev/null
+++ b/autobuild_mac80211_release/package/kernel/mac80211_dev/patches/subsys/99999-mac80211-mtk-fix-build-error-on-Linux-Kernel-5.4.patch
@@ -0,0 +1,97 @@
+From 4ca1834f804f70ffea6f95720d6145a56cd0414b Mon Sep 17 00:00:00 2001
+From: Evelyn Tsai <evelyn.tsai@mediatek.com>
+Date: Tue, 13 Dec 2022 09:04:49 +0800
+Subject: [PATCH] mac80211: mtk: fix build error on Linux Kernel 5.4
+
+---
+ include/linux/ieee80211.h | 8 +++-----
+ net/mac80211/rc80211_minstrel_ht.c | 2 ++
+ net/mac80211/wpa.c | 4 ++--
+ net/wireless/nl80211.c | 4 ++++
+ 4 files changed, 11 insertions(+), 7 deletions(-)
+
+diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h
+index 7969093..6f70394 100644
+--- a/include/linux/ieee80211.h
++++ b/include/linux/ieee80211.h
+@@ -310,11 +310,9 @@ static inline u16 ieee80211_sn_sub(u16 sn1, u16 sn2)
+ struct ieee80211_hdr {
+ __le16 frame_control;
+ __le16 duration_id;
+- struct_group(addrs,
+- u8 addr1[ETH_ALEN];
+- u8 addr2[ETH_ALEN];
+- u8 addr3[ETH_ALEN];
+- );
++ u8 addr1[ETH_ALEN];
++ u8 addr2[ETH_ALEN];
++ u8 addr3[ETH_ALEN];
+ __le16 seq_ctrl;
+ u8 addr4[ETH_ALEN];
+ } __packed __aligned(2);
+diff --git a/net/mac80211/rc80211_minstrel_ht.c b/net/mac80211/rc80211_minstrel_ht.c
+index 33001ec..277fec9 100644
+--- a/net/mac80211/rc80211_minstrel_ht.c
++++ b/net/mac80211/rc80211_minstrel_ht.c
+@@ -10,7 +10,9 @@
+ #include <linux/random.h>
+ #include <linux/moduleparam.h>
+ #include <linux/ieee80211.h>
++#if LINUX_VERSION_IS_GEQ(5,10,0)
+ #include <linux/minmax.h>
++#endif
+ #include <net/mac80211.h>
+ #include "rate.h"
+ #include "sta_info.h"
+diff --git a/net/mac80211/wpa.c b/net/mac80211/wpa.c
+index 20f742b..93ec2f3 100644
+--- a/net/mac80211/wpa.c
++++ b/net/mac80211/wpa.c
+@@ -351,7 +351,7 @@ static u8 ccmp_gcmp_aad(struct sk_buff *skb, u8 *aad)
+ * FC | A1 | A2 | A3 | SC | [A4] | [QC] */
+ put_unaligned_be16(len_a, &aad[0]);
+ put_unaligned(mask_fc, (__le16 *)&aad[2]);
+- memcpy(&aad[4], &hdr->addrs, 3 * ETH_ALEN);
++ memcpy(&aad[4], &hdr->addr1, 3 * ETH_ALEN);
+
+ /* Mask Seq#, leave Frag# */
+ aad[22] = *((u8 *) &hdr->seq_ctrl) & 0x0f;
+@@ -792,7 +792,7 @@ static void bip_aad(struct sk_buff *skb, u8 *aad)
+ IEEE80211_FCTL_MOREDATA);
+ put_unaligned(mask_fc, (__le16 *) &aad[0]);
+ /* A1 || A2 || A3 */
+- memcpy(aad + 2, &hdr->addrs, 3 * ETH_ALEN);
++ memcpy(aad + 2, &hdr->addr1, 3 * ETH_ALEN);
+ }
+
+
+diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
+index 7ce76e7..d6f836d 100644
+--- a/net/wireless/nl80211.c
++++ b/net/wireless/nl80211.c
+@@ -16449,9 +16449,11 @@ static const struct genl_ops nl80211_ops[] = {
+ /* can be retrieved by unprivileged users */
+ .internal_flags = IFLAGS(NL80211_FLAG_NEED_WIPHY),
+ },
++#if LINUX_VERSION_IS_GEQ(5,10,0)
+ };
+
+ static const struct genl_small_ops nl80211_small_ops[] = {
++#endif
+ {
+ .cmd = NL80211_CMD_SET_WIPHY,
+ .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP,
+@@ -17288,8 +17290,10 @@ static struct genl_family nl80211_fam __genl_ro_after_init = {
+ .module = THIS_MODULE,
+ .ops = nl80211_ops,
+ .n_ops = ARRAY_SIZE(nl80211_ops),
++#if LINUX_VERSION_IS_GEQ(5,10,0)
+ .small_ops = nl80211_small_ops,
+ .n_small_ops = ARRAY_SIZE(nl80211_small_ops),
++#endif
+ #if LINUX_VERSION_IS_GEQ(6,1,0)
+ .resv_start_op = NL80211_CMD_REMOVE_LINK_STA + 1,
+ #endif
+--
+2.36.1
+