From abac351b33b3f34ce3fc8a3623b281588f49cab2 Mon Sep 17 00:00:00 2001 From: Beginner <70857188+Beginner-Go@users.noreply.github.com> Date: Fri, 27 Dec 2024 10:30:06 +0800 Subject: [PATCH] kernel: refresh `6.1` patches (#13240) --- ...include-asm-rwonce.h-for-kernel-code.patch | 4 +-- ...00-3-qca-nss-ecm-support-net-bonding.patch | 6 ++-- ...nss-ecm-support-net-bonding-over-LAG.patch | 22 ++++++------ ...00-8-qca-nss-ecm-support-MLO-bonding.patch | 34 +++++++++---------- 4 files changed, 33 insertions(+), 33 deletions(-) diff --git a/target/linux/generic/pending-6.1/100-compiler.h-only-include-asm-rwonce.h-for-kernel-code.patch b/target/linux/generic/pending-6.1/100-compiler.h-only-include-asm-rwonce.h-for-kernel-code.patch index 7b342e696..957e09a71 100644 --- a/target/linux/generic/pending-6.1/100-compiler.h-only-include-asm-rwonce.h-for-kernel-code.patch +++ b/target/linux/generic/pending-6.1/100-compiler.h-only-include-asm-rwonce.h-for-kernel-code.patch @@ -19,8 +19,8 @@ Signed-off-by: Felix Fietkau + #endif /* __KERNEL__ */ - /* -@@ -243,6 +245,4 @@ static inline void *offset_to_ptr(const + /** +@@ -258,6 +260,4 @@ static inline void *offset_to_ptr(const */ #define prevent_tail_call_optimization() mb() diff --git a/target/linux/qualcommax/patches-6.1/0600-3-qca-nss-ecm-support-net-bonding.patch b/target/linux/qualcommax/patches-6.1/0600-3-qca-nss-ecm-support-net-bonding.patch index 29690e243..a68794bb9 100644 --- a/target/linux/qualcommax/patches-6.1/0600-3-qca-nss-ecm-support-net-bonding.patch +++ b/target/linux/qualcommax/patches-6.1/0600-3-qca-nss-ecm-support-net-bonding.patch @@ -9,7 +9,7 @@ static struct flow_dissector flow_keys_bonding __read_mostly; /*-------------------------- Forward declarations ---------------------------*/ -@@ -4425,6 +4427,24 @@ static int bond_get_lowest_level_rcu(str +@@ -4426,6 +4428,24 @@ static int bond_get_lowest_level_rcu(str } #endif @@ -34,7 +34,7 @@ static void bond_get_stats(struct net_device *bond_dev, struct rtnl_link_stats64 *stats) { -@@ -5837,6 +5857,11 @@ static void bond_destructor(struct net_d +@@ -5838,6 +5858,11 @@ static void bond_destructor(struct net_d if (bond->rr_tx_counter) free_percpu(bond->rr_tx_counter); @@ -46,7 +46,7 @@ } void bond_setup(struct net_device *bond_dev) -@@ -6400,6 +6425,14 @@ int bond_create(struct net *net, const c +@@ -6401,6 +6426,14 @@ int bond_create(struct net *net, const c bond_work_init_all(bond); diff --git a/target/linux/qualcommax/patches-6.1/0600-4-qca-nss-ecm-support-net-bonding-over-LAG.patch b/target/linux/qualcommax/patches-6.1/0600-4-qca-nss-ecm-support-net-bonding-over-LAG.patch index 81cecf843..ae22ac093 100644 --- a/target/linux/qualcommax/patches-6.1/0600-4-qca-nss-ecm-support-net-bonding-over-LAG.patch +++ b/target/linux/qualcommax/patches-6.1/0600-4-qca-nss-ecm-support-net-bonding-over-LAG.patch @@ -237,7 +237,7 @@ if (bond_is_lb(bond)) bond_alb_handle_link_change(bond, new_active, BOND_LINK_UP); } else { -@@ -1841,6 +1858,7 @@ int bond_enslave(struct net_device *bond +@@ -1842,6 +1859,7 @@ int bond_enslave(struct net_device *bond const struct net_device_ops *slave_ops = slave_dev->netdev_ops; struct slave *new_slave = NULL, *prev_slave; struct sockaddr_storage ss; @@ -245,7 +245,7 @@ int link_reporting; int res = 0, i; -@@ -2288,6 +2306,15 @@ int bond_enslave(struct net_device *bond +@@ -2289,6 +2307,15 @@ int bond_enslave(struct net_device *bond bond_is_active_slave(new_slave) ? "an active" : "a backup", new_slave->link != BOND_LINK_DOWN ? "an up" : "a down"); @@ -261,7 +261,7 @@ /* enslave is successful */ bond_queue_slave_event(new_slave); return 0; -@@ -2353,6 +2380,15 @@ err_undo_flags: +@@ -2354,6 +2381,15 @@ err_undo_flags: } } @@ -277,7 +277,7 @@ return res; } -@@ -2375,6 +2411,7 @@ static int __bond_release_one(struct net +@@ -2376,6 +2412,7 @@ static int __bond_release_one(struct net struct slave *slave, *oldcurrent; struct sockaddr_storage ss; int old_flags = bond_dev->flags; @@ -285,7 +285,7 @@ netdev_features_t old_features = bond_dev->features; /* slave is not a slave or master is not master of this slave */ -@@ -2396,6 +2433,15 @@ static int __bond_release_one(struct net +@@ -2397,6 +2434,15 @@ static int __bond_release_one(struct net bond_set_slave_inactive_flags(slave, BOND_SLAVE_NOTIFY_NOW); @@ -301,7 +301,7 @@ bond_sysfs_slave_del(slave); /* recompute stats just before removing the slave */ -@@ -2721,6 +2767,8 @@ static void bond_miimon_commit(struct bo +@@ -2722,6 +2768,8 @@ static void bond_miimon_commit(struct bo struct slave *slave, *primary, *active; bool do_failover = false; struct list_head *iter; @@ -310,7 +310,7 @@ ASSERT_RTNL(); -@@ -2760,6 +2808,12 @@ static void bond_miimon_commit(struct bo +@@ -2761,6 +2809,12 @@ static void bond_miimon_commit(struct bo bond_set_active_slave(slave); } @@ -323,7 +323,7 @@ slave_info(bond->dev, slave->dev, "link status definitely up, %u Mbps %s duplex\n", slave->speed == SPEED_UNKNOWN ? 0 : slave->speed, slave->duplex ? "full" : "half"); -@@ -2808,6 +2862,16 @@ static void bond_miimon_commit(struct bo +@@ -2809,6 +2863,16 @@ static void bond_miimon_commit(struct bo unblock_netpoll_tx(); } @@ -340,7 +340,7 @@ bond_set_carrier(bond); } -@@ -4055,9 +4119,220 @@ static inline u32 bond_eth_hash(struct s +@@ -4056,9 +4120,220 @@ static inline u32 bond_eth_hash(struct s return 0; ep = (struct ethhdr *)(data + mhoff); @@ -562,7 +562,7 @@ static bool bond_flow_ip(struct sk_buff *skb, struct flow_keys *fk, const void *data, int hlen, __be16 l2_proto, int *nhoff, int *ip_proto, bool l34) { -@@ -5253,15 +5528,23 @@ static netdev_tx_t bond_3ad_xor_xmit(str +@@ -5254,15 +5529,23 @@ static netdev_tx_t bond_3ad_xor_xmit(str struct net_device *dev) { struct bonding *bond = netdev_priv(dev); @@ -593,7 +593,7 @@ } /* in broadcast mode, we send everything to all usable interfaces. */ -@@ -5511,8 +5794,9 @@ static netdev_tx_t __bond_start_xmit(str +@@ -5512,8 +5795,9 @@ static netdev_tx_t __bond_start_xmit(str return bond_xmit_roundrobin(skb, dev); case BOND_MODE_ACTIVEBACKUP: return bond_xmit_activebackup(skb, dev); diff --git a/target/linux/qualcommax/patches-6.1/0600-8-qca-nss-ecm-support-MLO-bonding.patch b/target/linux/qualcommax/patches-6.1/0600-8-qca-nss-ecm-support-MLO-bonding.patch index 33a837103..a97185e97 100644 --- a/target/linux/qualcommax/patches-6.1/0600-8-qca-nss-ecm-support-MLO-bonding.patch +++ b/target/linux/qualcommax/patches-6.1/0600-8-qca-nss-ecm-support-MLO-bonding.patch @@ -27,8 +27,8 @@ Signed-off-by: Shivani Soni + #define BOND_VLAN_FEATURES (NETIF_F_HW_CSUM | NETIF_F_SG | \ NETIF_F_FRAGLIST | NETIF_F_GSO_SOFTWARE | \ - NETIF_F_HIGHDMA | NETIF_F_LRO) -@@ -1501,13 +1505,25 @@ static void bond_compute_features(struct + NETIF_F_GSO_ENCAP_ALL | \ +@@ -1502,13 +1506,25 @@ static void bond_compute_features(struct if (!bond_has_slaves(bond)) goto done; @@ -57,7 +57,7 @@ Signed-off-by: Shivani Soni enc_features = netdev_increment_features(enc_features, slave->dev->hw_enc_features, BOND_ENC_FEATURES); -@@ -1652,6 +1668,16 @@ static rx_handler_result_t bond_handle_f +@@ -1653,6 +1669,16 @@ static rx_handler_result_t bond_handle_f bond->dev->addr_len); } @@ -74,7 +74,7 @@ Signed-off-by: Shivani Soni return ret; } -@@ -1869,6 +1895,8 @@ int bond_enslave(struct net_device *bond +@@ -1870,6 +1896,8 @@ int bond_enslave(struct net_device *bond return -EPERM; } @@ -83,7 +83,7 @@ Signed-off-by: Shivani Soni if (!bond->params.use_carrier && slave_dev->ethtool_ops->get_link == NULL && slave_ops->ndo_eth_ioctl == NULL) { -@@ -1982,13 +2010,17 @@ int bond_enslave(struct net_device *bond +@@ -1983,13 +2011,17 @@ int bond_enslave(struct net_device *bond call_netdevice_notifiers(NETDEV_JOIN, slave_dev); /* If this is the first slave, then we need to set the master's hardware @@ -107,7 +107,7 @@ Signed-off-by: Shivani Soni } new_slave = bond_alloc_slave(bond, slave_dev); -@@ -2017,18 +2049,21 @@ int bond_enslave(struct net_device *bond +@@ -2018,18 +2050,21 @@ int bond_enslave(struct net_device *bond bond_hw_addr_copy(new_slave->perm_hwaddr, slave_dev->dev_addr, slave_dev->addr_len); @@ -141,7 +141,7 @@ Signed-off-by: Shivani Soni } } -@@ -2391,6 +2426,7 @@ err_undo_flags: +@@ -2392,6 +2427,7 @@ err_undo_flags: return res; } @@ -149,7 +149,7 @@ Signed-off-by: Shivani Soni /* Try to release the slave device from the bond device * It is legal to access curr_active_slave without a lock because all the function -@@ -2518,13 +2554,23 @@ static int __bond_release_one(struct net +@@ -2519,13 +2555,23 @@ static int __bond_release_one(struct net } bond_set_carrier(bond); @@ -175,7 +175,7 @@ Signed-off-by: Shivani Soni if (!bond_has_slaves(bond)) { call_netdevice_notifiers(NETDEV_CHANGEADDR, bond->dev); call_netdevice_notifiers(NETDEV_RELEASE, bond->dev); -@@ -2591,6 +2637,7 @@ int bond_release(struct net_device *bond +@@ -2592,6 +2638,7 @@ int bond_release(struct net_device *bond { return __bond_release_one(bond_dev, slave_dev, false, false); } @@ -183,7 +183,7 @@ Signed-off-by: Shivani Soni /* First release a slave and then destroy the bond if no more slaves are left. * Must be under rtnl_lock when this function is called. -@@ -2612,6 +2659,29 @@ static int bond_release_and_destroy(stru +@@ -2613,6 +2660,29 @@ static int bond_release_and_destroy(stru return ret; } @@ -213,7 +213,7 @@ Signed-off-by: Shivani Soni static void bond_info_query(struct net_device *bond_dev, struct ifbond *info) { struct bonding *bond = netdev_priv(bond_dev); -@@ -4263,6 +4333,24 @@ static struct net_device *bond_xor_get_t +@@ -4264,6 +4334,24 @@ static struct net_device *bond_xor_get_t return NULL; } @@ -238,7 +238,7 @@ Signed-off-by: Shivani Soni /* bond_get_tx_dev - Calculate egress interface for a given packet. * * Supports 802.3AD and balance-xor modes -@@ -4303,6 +4391,9 @@ struct net_device *bond_get_tx_dev(struc +@@ -4304,6 +4392,9 @@ struct net_device *bond_get_tx_dev(struc return bond_3ad_get_tx_dev(skb, src_mac, dst_mac, src, dst, protocol, bond_dev, layer4hdr); @@ -248,7 +248,7 @@ Signed-off-by: Shivani Soni default: return NULL; } -@@ -5099,20 +5190,26 @@ static int bond_set_mac_address(struct n +@@ -5100,20 +5191,26 @@ static int bond_set_mac_address(struct n if (!is_valid_ether_addr(ss->__data)) return -EADDRNOTAVAIL; @@ -289,7 +289,7 @@ Signed-off-by: Shivani Soni } } -@@ -5776,6 +5873,27 @@ static netdev_tx_t bond_tls_device_xmit( +@@ -5777,6 +5874,27 @@ static netdev_tx_t bond_tls_device_xmit( } #endif @@ -317,7 +317,7 @@ Signed-off-by: Shivani Soni static netdev_tx_t __bond_start_xmit(struct sk_buff *skb, struct net_device *dev) { struct bonding *bond = netdev_priv(dev); -@@ -5804,6 +5922,8 @@ static netdev_tx_t __bond_start_xmit(str +@@ -5805,6 +5923,8 @@ static netdev_tx_t __bond_start_xmit(str return bond_alb_xmit(skb, dev); case BOND_MODE_TLB: return bond_tlb_xmit(skb, dev); @@ -326,7 +326,7 @@ Signed-off-by: Shivani Soni default: /* Should never happen, mode already checked */ netdev_err(dev, "Unknown bonding mode %d\n", BOND_MODE(bond)); -@@ -6146,6 +6266,15 @@ static void bond_destructor(struct net_d +@@ -6147,6 +6267,15 @@ static void bond_destructor(struct net_d if (bond->id != (~0U)) clear_bit(bond->id, &bond_id_mask); /* QCA NSS ECM bonding support */ @@ -342,7 +342,7 @@ Signed-off-by: Shivani Soni } void bond_setup(struct net_device *bond_dev) -@@ -6722,6 +6851,76 @@ out: +@@ -6723,6 +6852,76 @@ out: return res; }