[rdk-b][common][bsp][Refactor and sync kernel/wifi from Openwrt]

[Description]
Refactor and sync kernel/wifi from Openwrt

[Release-log]
N/A

diff --git a/recipes-kernel/linux/linux-mediatek-5.4/generic/backport-5.4/393-v5.5-sch_cake-drop-unused-variable-tin_quantum_prio.patch b/recipes-kernel/linux/linux-mediatek-5.4/generic/backport-5.4/393-v5.5-sch_cake-drop-unused-variable-tin_quantum_prio.patch
index 6c9e8ad..70fc29f 100644
--- a/recipes-kernel/linux/linux-mediatek-5.4/generic/backport-5.4/393-v5.5-sch_cake-drop-unused-variable-tin_quantum_prio.patch
+++ b/recipes-kernel/linux/linux-mediatek-5.4/generic/backport-5.4/393-v5.5-sch_cake-drop-unused-variable-tin_quantum_prio.patch
@@ -41,7 +41,7 @@
  			if (b->sparse_flow_count + b->bulk_flow_count)
  				empty = false;
  
-@@ -2269,8 +2268,7 @@ static int cake_config_besteffort(struct
+@@ -2273,8 +2272,7 @@ static int cake_config_besteffort(struct
  
  	cake_set_rate(b, rate, mtu,
  		      us_to_ns(q->target), us_to_ns(q->interval));
@@ -51,7 +51,7 @@
  
  	return 0;
  }
-@@ -2281,8 +2279,7 @@ static int cake_config_precedence(struct
+@@ -2285,8 +2283,7 @@ static int cake_config_precedence(struct
  	struct cake_sched_data *q = qdisc_priv(sch);
  	u32 mtu = psched_mtu(qdisc_dev(sch));
  	u64 rate = q->rate_bps;
@@ -61,7 +61,7 @@
  	u32 i;
  
  	q->tin_cnt = 8;
-@@ -2295,18 +2292,14 @@ static int cake_config_precedence(struct
+@@ -2299,18 +2296,14 @@ static int cake_config_precedence(struct
  		cake_set_rate(b, rate, mtu, us_to_ns(q->target),
  			      us_to_ns(q->interval));
  
@@ -83,7 +83,7 @@
  	}
  
  	return 0;
-@@ -2375,8 +2368,7 @@ static int cake_config_diffserv8(struct
+@@ -2379,8 +2372,7 @@ static int cake_config_diffserv8(struct
  	struct cake_sched_data *q = qdisc_priv(sch);
  	u32 mtu = psched_mtu(qdisc_dev(sch));
  	u64 rate = q->rate_bps;
@@ -93,7 +93,7 @@
  	u32 i;
  
  	q->tin_cnt = 8;
-@@ -2392,18 +2384,14 @@ static int cake_config_diffserv8(struct
+@@ -2396,18 +2388,14 @@ static int cake_config_diffserv8(struct
  		cake_set_rate(b, rate, mtu, us_to_ns(q->target),
  			      us_to_ns(q->interval));
  
@@ -115,7 +115,7 @@
  	}
  
  	return 0;
-@@ -2442,17 +2430,11 @@ static int cake_config_diffserv4(struct
+@@ -2446,17 +2434,11 @@ static int cake_config_diffserv4(struct
  	cake_set_rate(&q->tins[3], rate >> 2, mtu,
  		      us_to_ns(q->target), us_to_ns(q->interval));
  
@@ -137,7 +137,7 @@
  
  	return 0;
  }
-@@ -2483,15 +2465,10 @@ static int cake_config_diffserv3(struct
+@@ -2487,15 +2469,10 @@ static int cake_config_diffserv3(struct
  	cake_set_rate(&q->tins[2], rate >> 2, mtu,
  		      us_to_ns(q->target), us_to_ns(q->interval));
  
diff --git a/recipes-kernel/linux/linux-mediatek-5.4/generic/backport-5.4/800-v5.5-scsi-core-Add-sysfs-attributes-for-VPD-pages-0h-and-.patch b/recipes-kernel/linux/linux-mediatek-5.4/generic/backport-5.4/800-v5.5-scsi-core-Add-sysfs-attributes-for-VPD-pages-0h-and-.patch
index 2133280..d963222 100644
--- a/recipes-kernel/linux/linux-mediatek-5.4/generic/backport-5.4/800-v5.5-scsi-core-Add-sysfs-attributes-for-VPD-pages-0h-and-.patch
+++ b/recipes-kernel/linux/linux-mediatek-5.4/generic/backport-5.4/800-v5.5-scsi-core-Add-sysfs-attributes-for-VPD-pages-0h-and-.patch
@@ -68,7 +68,7 @@
  	kfree(sdev->inquiry);
  	kfree(sdev);
  
-@@ -891,6 +900,8 @@ static struct bin_attribute dev_attr_vpd
+@@ -899,6 +908,8 @@ static struct bin_attribute dev_attr_vpd
  
  sdev_vpd_pg_attr(pg83);
  sdev_vpd_pg_attr(pg80);
@@ -77,7 +77,7 @@
  
  static ssize_t show_inquiry(struct file *filep, struct kobject *kobj,
  			    struct bin_attribute *bin_attr,
-@@ -1223,12 +1234,18 @@ static umode_t scsi_sdev_bin_attr_is_vis
+@@ -1231,12 +1242,18 @@ static umode_t scsi_sdev_bin_attr_is_vis
  	struct scsi_device *sdev = to_scsi_device(dev);
  
  
@@ -96,7 +96,7 @@
  	return S_IRUGO;
  }
  
-@@ -1271,8 +1288,10 @@ static struct attribute *scsi_sdev_attrs
+@@ -1279,8 +1296,10 @@ static struct attribute *scsi_sdev_attrs
  };
  
  static struct bin_attribute *scsi_sdev_bin_attrs[] = {
diff --git a/recipes-kernel/linux/linux-mediatek-5.4/generic/defconfig b/recipes-kernel/linux/linux-mediatek-5.4/generic/defconfig
index e1a3747..d793e06 100644
--- a/recipes-kernel/linux/linux-mediatek-5.4/generic/defconfig
+++ b/recipes-kernel/linux/linux-mediatek-5.4/generic/defconfig
@@ -298,6 +298,7 @@
 # CONFIG_ARM64_ERRATUM_1024718 is not set
 # CONFIG_ARM64_ERRATUM_1463225 is not set
 # CONFIG_ARM64_ERRATUM_1542419 is not set
+# CONFIG_ARM64_ERRATUM_1742098 is not set
 # CONFIG_ARM64_ERRATUM_819472 is not set
 # CONFIG_ARM64_ERRATUM_824069 is not set
 # CONFIG_ARM64_ERRATUM_826319 is not set
diff --git a/recipes-kernel/linux/linux-mediatek-5.4/generic/hack-5.4/721-phy_packets.patch b/recipes-kernel/linux/linux-mediatek-5.4/generic/hack-5.4/721-phy_packets.patch
index dfc9aa5..f9fa50b 100644
--- a/recipes-kernel/linux/linux-mediatek-5.4/generic/hack-5.4/721-phy_packets.patch
+++ b/recipes-kernel/linux/linux-mediatek-5.4/generic/hack-5.4/721-phy_packets.patch
@@ -56,7 +56,7 @@
   */
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -2692,6 +2692,10 @@ static inline int pskb_trim(struct sk_bu
+@@ -2694,6 +2694,10 @@ static inline int pskb_trim(struct sk_bu
  	return (len < skb->len) ? __pskb_trim(skb, len) : 0;
  }
  
@@ -67,7 +67,7 @@
  /**
   *	pskb_trim_unique - remove end from a paged unique (not cloned) buffer
   *	@skb: buffer to alter
-@@ -2823,16 +2827,6 @@ static inline struct sk_buff *dev_alloc_
+@@ -2825,16 +2829,6 @@ static inline struct sk_buff *dev_alloc_
  }
  
  
diff --git a/recipes-kernel/linux/linux-mediatek-5.4/generic/pending-5.4/655-increase_skb_pad.patch b/recipes-kernel/linux/linux-mediatek-5.4/generic/pending-5.4/655-increase_skb_pad.patch
index ab79395..16c65ce 100644
--- a/recipes-kernel/linux/linux-mediatek-5.4/generic/pending-5.4/655-increase_skb_pad.patch
+++ b/recipes-kernel/linux/linux-mediatek-5.4/generic/pending-5.4/655-increase_skb_pad.patch
@@ -9,7 +9,7 @@
 
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -2658,7 +2658,7 @@ static inline int pskb_network_may_pull(
+@@ -2660,7 +2660,7 @@ static inline int pskb_network_may_pull(
   * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
   */
  #ifndef NET_SKB_PAD
diff --git a/recipes-kernel/linux/linux-mediatek-5.4/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/recipes-kernel/linux/linux-mediatek-5.4/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
index 28901d7..10e58b4 100644
--- a/recipes-kernel/linux/linux-mediatek-5.4/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
+++ b/recipes-kernel/linux/linux-mediatek-5.4/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
@@ -251,7 +251,7 @@
  	kfree(net->ipv6.ip6_blk_hole_entry);
  #endif
  	dst_entries_destroy(&net->ipv6.ip6_dst_ops);
-@@ -6428,6 +6477,9 @@ void __init ip6_route_init_special_entri
+@@ -6434,6 +6483,9 @@ void __init ip6_route_init_special_entri
  	init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
  	init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
  	init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
diff --git a/recipes-kernel/linux/linux-mediatek-5.4/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/recipes-kernel/linux/linux-mediatek-5.4/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
index abdf445..3162efd 100644
--- a/recipes-kernel/linux/linux-mediatek-5.4/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
+++ b/recipes-kernel/linux/linux-mediatek-5.4/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
@@ -22,10 +22,10 @@
  #endif
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -824,6 +824,7 @@ struct sk_buff {
- #ifdef CONFIG_TLS_DEVICE
+@@ -826,6 +826,7 @@ struct sk_buff {
  	__u8			decrypted:1;
  #endif
+ 	__u8			scm_io_uring:1;
 +	__u8			gro_skip:1;
  
  #ifdef CONFIG_NET_SCHED