diff --git a/include/kernel-6.6 b/include/kernel-6.6 index 481d2030c..0924e4f37 100644 --- a/include/kernel-6.6 +++ b/include/kernel-6.6 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.6 = .10 -LINUX_KERNEL_HASH-6.6.10 = 9ee627e4c109aec7fca3eda5898e81d201af2c7eb2f7d9d7d94c1f0e1205546c +LINUX_VERSION-6.6 = .13 +LINUX_KERNEL_HASH-6.6.13 = 88b89e7dd41ead4e3ab1e411c8bb8d592575acf815cf1df3c0dc57e2e882c0bc diff --git a/target/linux/generic/backport-6.6/002-struct-net_device.patch b/target/linux/generic/backport-6.6/002-struct-net_device.patch index 77344964e..caff802eb 100644 --- a/target/linux/generic/backport-6.6/002-struct-net_device.patch +++ b/target/linux/generic/backport-6.6/002-struct-net_device.patch @@ -19,7 +19,7 @@ return true; } -@@ -1899,6 +1899,7 @@ enum netdev_ml_priv_type { +@@ -1906,6 +1906,7 @@ enum netdev_stat_type { * @tipc_ptr: TIPC specific data * @atalk_ptr: AppleTalk link * @ip_ptr: IPv4 specific data @@ -27,7 +27,7 @@ * @ip6_ptr: IPv6 specific data * @ax25_ptr: AX.25 specific data * @ieee80211_ptr: IEEE 802.11 specific data, assign before registering -@@ -2191,8 +2192,6 @@ struct net_device { +@@ -2202,8 +2203,6 @@ struct net_device { /* Protocol-specific pointers */ @@ -36,7 +36,7 @@ #if IS_ENABLED(CONFIG_VLAN_8021Q) struct vlan_info __rcu *vlan_info; #endif -@@ -2205,15 +2204,16 @@ struct net_device { +@@ -2216,15 +2215,16 @@ struct net_device { #if IS_ENABLED(CONFIG_ATALK) void *atalk_ptr; #endif @@ -57,7 +57,7 @@ #if IS_ENABLED(CONFIG_MPLS_ROUTING) struct mpls_dev __rcu *mpls_ptr; #endif -@@ -2643,6 +2643,8 @@ netif_napi_add_tx_weight(struct net_devi +@@ -2655,6 +2655,8 @@ netif_napi_add_tx_weight(struct net_devi netif_napi_add_weight(dev, napi, poll, weight); } diff --git a/target/linux/generic/backport-6.6/005-Revert-genetlink-remove-userhdr-from-struct-genl_inf.patch b/target/linux/generic/backport-6.6/005-Revert-genetlink-remove-userhdr-from-struct-genl_inf.patch index 6d4190c88..2815ba78f 100644 --- a/target/linux/generic/backport-6.6/005-Revert-genetlink-remove-userhdr-from-struct-genl_inf.patch +++ b/target/linux/generic/backport-6.6/005-Revert-genetlink-remove-userhdr-from-struct-genl_inf.patch @@ -48,7 +48,7 @@ This reverts commit bffcc6882a1bb2be8c9420184966f4c2c822078e. retcode = drbd_adm_prepare(&adm_ctx, skb, info, DRBD_ADM_NEED_RESOURCE); --- a/include/net/genetlink.h +++ b/include/net/genetlink.h -@@ -96,6 +96,7 @@ struct genl_family { +@@ -98,6 +98,7 @@ struct genl_family { * @family: generic netlink family * @nlhdr: netlink message header * @genlhdr: generic netlink message header @@ -56,7 +56,7 @@ This reverts commit bffcc6882a1bb2be8c9420184966f4c2c822078e. * @attrs: netlink attributes * @_net: network namespace * @user_ptr: user pointers -@@ -107,6 +108,7 @@ struct genl_info { +@@ -109,6 +110,7 @@ struct genl_info { const struct genl_family *family; const struct nlmsghdr * nlhdr; struct genlmsghdr * genlhdr; @@ -64,7 +64,7 @@ This reverts commit bffcc6882a1bb2be8c9420184966f4c2c822078e. struct nlattr ** attrs; possible_net_t _net; void * user_ptr[2]; -@@ -123,11 +125,6 @@ static inline void genl_info_net_set(str +@@ -125,11 +127,6 @@ static inline void genl_info_net_set(str write_pnet(&info->_net, net); } @@ -268,7 +268,7 @@ This reverts commit bffcc6882a1bb2be8c9420184966f4c2c822078e. struct dp_meter *old_meter; --- a/net/tipc/netlink_compat.c +++ b/net/tipc/netlink_compat.c -@@ -1294,7 +1294,7 @@ static int tipc_nl_compat_recv(struct sk +@@ -1295,7 +1295,7 @@ static int tipc_nl_compat_recv(struct sk struct tipc_nl_compat_msg msg; struct nlmsghdr *req_nlh; struct nlmsghdr *rep_nlh; diff --git a/target/linux/generic/hack-6.6/204-module_strip.patch b/target/linux/generic/hack-6.6/204-module_strip.patch index a19c74e86..850cdeb88 100644 --- a/target/linux/generic/hack-6.6/204-module_strip.patch +++ b/target/linux/generic/hack-6.6/204-module_strip.patch @@ -127,7 +127,7 @@ Signed-off-by: Felix Fietkau if (err) --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c -@@ -1751,7 +1751,9 @@ static void read_symbols(const char *mod +@@ -1753,7 +1753,9 @@ static void read_symbols(const char *mod symname = remove_dot(info.strtab + sym->st_name); handle_symbol(mod, &info, sym, symname); @@ -137,7 +137,7 @@ Signed-off-by: Felix Fietkau } check_sec_ref(mod, &info); -@@ -1924,8 +1926,10 @@ static void add_header(struct buffer *b, +@@ -1926,8 +1928,10 @@ static void add_header(struct buffer *b, buf_printf(b, "BUILD_SALT;\n"); buf_printf(b, "BUILD_LTO_INFO;\n"); buf_printf(b, "\n"); @@ -148,7 +148,7 @@ Signed-off-by: Felix Fietkau buf_printf(b, "\n"); buf_printf(b, "__visible struct module __this_module\n"); buf_printf(b, "__section(\".gnu.linkonce.this_module\") = {\n"); -@@ -2059,11 +2063,13 @@ static void add_depends(struct buffer *b +@@ -2061,11 +2065,13 @@ static void add_depends(struct buffer *b static void add_srcversion(struct buffer *b, struct module *mod) { @@ -162,7 +162,7 @@ Signed-off-by: Felix Fietkau } static void write_buf(struct buffer *b, const char *fname) -@@ -2146,7 +2152,9 @@ static void write_mod_c_file(struct modu +@@ -2148,7 +2154,9 @@ static void write_mod_c_file(struct modu add_exported_symbols(&buf, mod); add_versions(&buf, mod); add_depends(&buf, mod); diff --git a/target/linux/generic/hack-6.6/259-regmap_dynamic.patch b/target/linux/generic/hack-6.6/259-regmap_dynamic.patch index a49618ad4..48678e348 100644 --- a/target/linux/generic/hack-6.6/259-regmap_dynamic.patch +++ b/target/linux/generic/hack-6.6/259-regmap_dynamic.patch @@ -140,7 +140,7 @@ Signed-off-by: Felix Fietkau #include #include #include -@@ -3431,3 +3432,5 @@ static int __init regmap_initcall(void) +@@ -3433,3 +3434,5 @@ static int __init regmap_initcall(void) return 0; } postcore_initcall(regmap_initcall); diff --git a/target/linux/generic/hack-6.6/301-mips_image_cmdline_hack.patch b/target/linux/generic/hack-6.6/301-mips_image_cmdline_hack.patch index 5bcdc452b..5a5cc2180 100644 --- a/target/linux/generic/hack-6.6/301-mips_image_cmdline_hack.patch +++ b/target/linux/generic/hack-6.6/301-mips_image_cmdline_hack.patch @@ -10,7 +10,7 @@ Signed-off-by: Gabor Juhos --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -1089,6 +1089,10 @@ config MIPS_MSC +@@ -1090,6 +1090,10 @@ config MIPS_MSC config SYNC_R4K bool diff --git a/target/linux/generic/hack-6.6/760-net-usb-r8152-add-LED-configuration-from-OF.patch b/target/linux/generic/hack-6.6/760-net-usb-r8152-add-LED-configuration-from-OF.patch index 26c5af851..4b1317580 100644 --- a/target/linux/generic/hack-6.6/760-net-usb-r8152-add-LED-configuration-from-OF.patch +++ b/target/linux/generic/hack-6.6/760-net-usb-r8152-add-LED-configuration-from-OF.patch @@ -22,7 +22,7 @@ Signed-off-by: David Bauer #include #include #include -@@ -6980,6 +6981,22 @@ static void rtl_tally_reset(struct r8152 +@@ -7002,6 +7003,22 @@ static void rtl_tally_reset(struct r8152 ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data); } @@ -45,7 +45,7 @@ Signed-off-by: David Bauer static void r8152b_init(struct r8152 *tp) { u32 ocp_data; -@@ -7021,6 +7038,8 @@ static void r8152b_init(struct r8152 *tp +@@ -7043,6 +7060,8 @@ static void r8152b_init(struct r8152 *tp ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL); ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN); ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data); @@ -54,7 +54,7 @@ Signed-off-by: David Bauer } static void r8153_init(struct r8152 *tp) -@@ -7161,6 +7180,8 @@ static void r8153_init(struct r8152 *tp) +@@ -7183,6 +7202,8 @@ static void r8153_init(struct r8152 *tp) tp->coalesce = COALESCE_SLOW; break; } @@ -63,7 +63,7 @@ Signed-off-by: David Bauer } static void r8153b_init(struct r8152 *tp) -@@ -7243,6 +7264,8 @@ static void r8153b_init(struct r8152 *tp +@@ -7265,6 +7286,8 @@ static void r8153b_init(struct r8152 *tp rtl_tally_reset(tp); tp->coalesce = 15000; /* 15 us */ diff --git a/target/linux/generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch b/target/linux/generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch index c955e49de..0e1d69e61 100644 --- a/target/linux/generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch +++ b/target/linux/generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch @@ -19,7 +19,7 @@ #define QUECTEL_VENDOR_ID 0x2c7c /* These Quectel products use Quectel's vendor ID */ -@@ -1185,6 +1187,11 @@ static const struct usb_device_id option +@@ -1188,6 +1190,11 @@ static const struct usb_device_id option .driver_info = ZLP }, { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96), .driver_info = RSVD(4) }, diff --git a/target/linux/generic/hack-6.6/902-debloat_proc.patch b/target/linux/generic/hack-6.6/902-debloat_proc.patch index 331b4ffef..d3bf39091 100644 --- a/target/linux/generic/hack-6.6/902-debloat_proc.patch +++ b/target/linux/generic/hack-6.6/902-debloat_proc.patch @@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau --- a/net/core/sock.c +++ b/net/core/sock.c -@@ -4116,6 +4116,8 @@ static __net_initdata struct pernet_oper +@@ -4124,6 +4124,8 @@ static __net_initdata struct pernet_oper static int __init proto_init(void) { diff --git a/target/linux/generic/hack-6.6/904-debloat_dma_buf.patch b/target/linux/generic/hack-6.6/904-debloat_dma_buf.patch index 2c4d92fa1..2146edec3 100644 --- a/target/linux/generic/hack-6.6/904-debloat_dma_buf.patch +++ b/target/linux/generic/hack-6.6/904-debloat_dma_buf.patch @@ -64,7 +64,7 @@ Signed-off-by: Felix Fietkau +dma-shared-buffer-objs := $(dma-buf-objs-y) --- a/drivers/dma-buf/dma-buf.c +++ b/drivers/dma-buf/dma-buf.c -@@ -1742,4 +1742,5 @@ static void __exit dma_buf_deinit(void) +@@ -1731,4 +1731,5 @@ static void __exit dma_buf_deinit(void) kern_unmount(dma_buf_mnt); dma_buf_uninit_sysfs_statistics(); } @@ -73,7 +73,7 @@ Signed-off-by: Felix Fietkau +MODULE_LICENSE("GPL"); --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -4417,6 +4417,7 @@ int wake_up_state(struct task_struct *p, +@@ -4487,6 +4487,7 @@ int wake_up_state(struct task_struct *p, { return try_to_wake_up(p, state, 0); } @@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau * Perform scheduler related setup for a newly forked process p. --- a/fs/d_path.c +++ b/fs/d_path.c -@@ -313,6 +313,7 @@ char *dynamic_dname(char *buffer, int bu +@@ -314,6 +314,7 @@ char *dynamic_dname(char *buffer, int bu buffer += buflen - sz; return memcpy(buffer, temp, sz); } diff --git a/target/linux/generic/hack-6.6/952-add-net-conntrack-events-support-multiple-registrant.patch b/target/linux/generic/hack-6.6/952-add-net-conntrack-events-support-multiple-registrant.patch index 725232b59..6a8de09bb 100644 --- a/target/linux/generic/hack-6.6/952-add-net-conntrack-events-support-multiple-registrant.patch +++ b/target/linux/generic/hack-6.6/952-add-net-conntrack-events-support-multiple-registrant.patch @@ -94,7 +94,7 @@ Signed-off-by: Zhi Chen #ifdef CONFIG_NF_CONNTRACK_EVENTS --- a/include/net/netns/conntrack.h +++ b/include/net/netns/conntrack.h -@@ -105,6 +105,9 @@ struct netns_ct { +@@ -104,6 +104,9 @@ struct netns_ct { u8 sysctl_checksum; struct ip_conntrack_stat __percpu *stat; @@ -106,7 +106,7 @@ Signed-off-by: Zhi Chen #if defined(CONFIG_NF_CONNTRACK_LABELS) --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -161,6 +161,14 @@ config NF_CONNTRACK_EVENTS +@@ -164,6 +164,14 @@ config NF_CONNTRACK_EVENTS If unsure, say `N'. @@ -123,7 +123,7 @@ Signed-off-by: Zhi Chen depends on NETFILTER_ADVANCED --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c -@@ -2809,6 +2809,10 @@ int nf_conntrack_init_net(struct net *ne +@@ -2800,6 +2800,10 @@ int nf_conntrack_init_net(struct net *ne nf_conntrack_ecache_pernet_init(net); nf_conntrack_proto_pernet_init(net); @@ -299,7 +299,7 @@ Signed-off-by: Zhi Chen void nf_conntrack_ecache_work(struct net *net, enum nf_ct_ecache_state state) --- a/net/netfilter/nf_conntrack_netlink.c +++ b/net/netfilter/nf_conntrack_netlink.c -@@ -718,12 +718,19 @@ static size_t ctnetlink_nlmsg_size(const +@@ -723,12 +723,19 @@ static size_t ctnetlink_nlmsg_size(const } static int diff --git a/target/linux/generic/hack-6.6/953-net-patch-linux-kernel-to-support-shortcut-fe.patch b/target/linux/generic/hack-6.6/953-net-patch-linux-kernel-to-support-shortcut-fe.patch index 4cb684422..614766aad 100644 --- a/target/linux/generic/hack-6.6/953-net-patch-linux-kernel-to-support-shortcut-fe.patch +++ b/target/linux/generic/hack-6.6/953-net-patch-linux-kernel-to-support-shortcut-fe.patch @@ -12,9 +12,9 @@ struct list_head *br_ip_list); --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -987,6 +987,10 @@ struct sk_buff { +@@ -991,6 +991,10 @@ struct sk_buff { __u8 csum_not_inet:1; - __u8 scm_io_uring:1; + #endif +#ifdef CONFIG_SHORTCUT_FE + __u8 fast_forwarded:1; @@ -49,7 +49,7 @@ const struct nf_ct_event_notifier *nb); --- a/net/Kconfig +++ b/net/Kconfig -@@ -467,6 +467,9 @@ config FAILOVER +@@ -495,6 +495,9 @@ config FAILOVER migration of VMs with direct attached VFs by failing over to the paravirtual datapath when the VF is unplugged. @@ -61,8 +61,8 @@ default y --- a/net/bridge/br_if.c +++ b/net/bridge/br_if.c -@@ -767,6 +767,28 @@ void br_port_flags_change(struct net_bri - br_offload_port_state(p); +@@ -764,6 +764,28 @@ void br_port_flags_change(struct net_bri + br_recalculate_neigh_suppress_enabled(br); } +void br_dev_update_stats(struct net_device *dev, @@ -92,7 +92,7 @@ struct net_bridge_port *p; --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -3584,9 +3584,17 @@ static int xmit_one(struct sk_buff *skb, +@@ -3567,9 +3567,17 @@ static int xmit_one(struct sk_buff *skb, { unsigned int len; int rc; @@ -109,9 +109,9 @@ + } +#endif - #ifdef CONFIG_ETHERNET_PACKET_MANGLE - if (dev->eth_mangle_tx && !(skb = dev->eth_mangle_tx(dev, skb))) -@@ -5245,6 +5253,11 @@ void netdev_rx_handler_unregister(struct + len = skb->len; + trace_net_dev_start_xmit(skb, dev); +@@ -5303,6 +5311,11 @@ void netdev_rx_handler_unregister(struct } EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister); @@ -123,7 +123,7 @@ /* * Limit the use of PFMEMALLOC reserves to those protocols that implement * the special handling of PFMEMALLOC skbs. -@@ -5293,6 +5306,10 @@ static int __netif_receive_skb_core(stru +@@ -5351,6 +5364,10 @@ static int __netif_receive_skb_core(stru int ret = NET_RX_DROP; __be16 type; @@ -134,7 +134,7 @@ net_timestamp_check(!READ_ONCE(netdev_tstamp_prequeue), skb); trace_netif_receive_skb(skb); -@@ -5330,6 +5347,15 @@ another_round: +@@ -5388,6 +5405,15 @@ another_round: goto out; } diff --git a/target/linux/generic/hack-6.6/992-add-ndo-do-ioctl.patch b/target/linux/generic/hack-6.6/992-add-ndo-do-ioctl.patch index 0df54ea22..5f9205183 100644 --- a/target/linux/generic/hack-6.6/992-add-ndo-do-ioctl.patch +++ b/target/linux/generic/hack-6.6/992-add-ndo-do-ioctl.patch @@ -1,6 +1,6 @@ --- a/net/wireless/wext-core.c +++ b/net/wireless/wext-core.c -@@ -959,6 +959,9 @@ static int wireless_process_ioctl(struct +@@ -981,6 +981,9 @@ static int wireless_process_ioctl(struct else if (private) return private(dev, iwr, cmd, info, handler); } diff --git a/target/linux/generic/hack-6.6/998-virtio.patch b/target/linux/generic/hack-6.6/998-virtio.patch index 78a1bba07..0152f8c24 100644 --- a/target/linux/generic/hack-6.6/998-virtio.patch +++ b/target/linux/generic/hack-6.6/998-virtio.patch @@ -1,6 +1,6 @@ --- a/drivers/virtio/Kconfig +++ b/drivers/virtio/Kconfig -@@ -3,7 +3,7 @@ +@@ -3,7 +3,7 @@ config VIRTIO_ANCHOR bool config VIRTIO @@ -9,7 +9,7 @@ select VIRTIO_ANCHOR help This option is selected by any driver which implements the virtio -@@ -11,7 +11,7 @@ +@@ -11,7 +11,7 @@ config VIRTIO or CONFIG_S390_GUEST. config VIRTIO_PCI_LIB @@ -20,7 +20,7 @@ basic probe and control for devices which are based on modern --- a/crypto/Kconfig +++ b/crypto/Kconfig -@@ -842,7 +842,7 @@ +@@ -842,7 +842,7 @@ config CRYPTO_GCM This is required for IPSec ESP (XFRM_ESP). config CRYPTO_GENIV diff --git a/target/linux/generic/hack-6.6/999-revert-6.5-deprecated-API.patch b/target/linux/generic/hack-6.6/999-revert-6.5-deprecated-API.patch index 921275e55..abde48818 100644 --- a/target/linux/generic/hack-6.6/999-revert-6.5-deprecated-API.patch +++ b/target/linux/generic/hack-6.6/999-revert-6.5-deprecated-API.patch @@ -1,6 +1,6 @@ --- a/include/linux/device/class.h +++ b/include/linux/device/class.h -@@ -51,6 +51,7 @@ +@@ -51,6 +51,7 @@ struct fwnode_handle; */ struct class { const char *name; @@ -10,7 +10,7 @@ const struct attribute_group **dev_groups; --- a/include/linux/prandom.h +++ b/include/linux/prandom.h -@@ -24,6 +24,12 @@ +@@ -24,6 +24,12 @@ void prandom_seed_full_state(struct rnd_ #define prandom_init_once(pcpu_state) \ DO_ONCE(prandom_seed_full_state, (pcpu_state)) @@ -25,7 +25,7 @@ */ --- a/include/linux/u64_stats_sync.h +++ b/include/linux/u64_stats_sync.h -@@ -213,4 +213,16 @@ +@@ -213,4 +213,16 @@ static inline bool u64_stats_fetch_retry return __u64_stats_fetch_retry(syncp, start); } @@ -44,7 +44,7 @@ #endif /* _LINUX_U64_STATS_SYNC_H */ --- a/drivers/thermal/thermal_core.c +++ b/drivers/thermal/thermal_core.c -@@ -1270,7 +1270,7 @@ +@@ -1270,7 +1270,7 @@ thermal_zone_device_register_with_trips( return ERR_PTR(-EINVAL); } @@ -53,11 +53,10 @@ return ERR_PTR(-EINVAL); if (!thermal_class) -@@ -1392,6 +1392,17 @@ - return ERR_PTR(result); +@@ -1393,6 +1393,17 @@ free_tz: } EXPORT_SYMBOL_GPL(thermal_zone_device_register_with_trips); -+ + +struct thermal_zone_device *thermal_zone_device_register(const char *type, int ntrips, int mask, + void *devdata, struct thermal_zone_device_ops *ops, + const struct thermal_zone_params *tzp, int passive_delay, @@ -68,12 +67,13 @@ + passive_delay, polling_delay); +} +EXPORT_SYMBOL_GPL(thermal_zone_device_register); - ++ struct thermal_zone_device *thermal_tripless_zone_device_register( const char *type, + void *devdata, --- a/drivers/thermal/thermal_trip.c +++ b/drivers/thermal/thermal_trip.c -@@ -116,11 +116,29 @@ +@@ -116,11 +116,29 @@ void __thermal_zone_set_trips(struct the int __thermal_zone_get_trip(struct thermal_zone_device *tz, int trip_id, struct thermal_trip *trip) { @@ -108,7 +108,7 @@ --- a/include/linux/thermal.h +++ b/include/linux/thermal.h -@@ -76,7 +76,11 @@ +@@ -76,7 +76,11 @@ struct thermal_zone_device_ops { int (*set_trips) (struct thermal_zone_device *, int, int); int (*change_mode) (struct thermal_zone_device *, enum thermal_device_mode); @@ -120,7 +120,7 @@ int (*set_trip_hyst) (struct thermal_zone_device *, int, int); int (*get_crit_temp) (struct thermal_zone_device *, int *); int (*set_emul_temp) (struct thermal_zone_device *, int); -@@ -300,6 +304,14 @@ +@@ -300,6 +304,14 @@ int thermal_acpi_critical_trip_temp(stru #endif #ifdef CONFIG_THERMAL @@ -135,7 +135,7 @@ struct thermal_zone_device *thermal_zone_device_register_with_trips( const char *type, struct thermal_trip *trips, -@@ -356,6 +368,15 @@ +@@ -356,6 +368,15 @@ int thermal_zone_device_enable(struct th int thermal_zone_device_disable(struct thermal_zone_device *tz); void thermal_zone_device_critical(struct thermal_zone_device *tz); #else diff --git a/target/linux/generic/pending-6.6/102-MIPS-only-process-negative-stack-offsets-on-stack-tr.patch b/target/linux/generic/pending-6.6/102-MIPS-only-process-negative-stack-offsets-on-stack-tr.patch index 7ce3d491c..d79d03def 100644 --- a/target/linux/generic/pending-6.6/102-MIPS-only-process-negative-stack-offsets-on-stack-tr.patch +++ b/target/linux/generic/pending-6.6/102-MIPS-only-process-negative-stack-offsets-on-stack-tr.patch @@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau --- a/arch/mips/kernel/process.c +++ b/arch/mips/kernel/process.c -@@ -394,6 +394,8 @@ static inline int is_sp_move_ins(union m +@@ -395,6 +395,8 @@ static inline int is_sp_move_ins(union m if (ip->i_format.opcode == addiu_op || ip->i_format.opcode == daddiu_op) { diff --git a/target/linux/generic/pending-6.6/300-mips_expose_boot_raw.patch b/target/linux/generic/pending-6.6/300-mips_expose_boot_raw.patch index afa59b80d..ebeeb7bae 100644 --- a/target/linux/generic/pending-6.6/300-mips_expose_boot_raw.patch +++ b/target/linux/generic/pending-6.6/300-mips_expose_boot_raw.patch @@ -9,7 +9,7 @@ Acked-by: Rob Landley --- --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -1012,9 +1012,6 @@ config FW_ARC +@@ -1013,9 +1013,6 @@ config FW_ARC config ARCH_MAY_HAVE_PC_FDC bool @@ -19,7 +19,7 @@ Acked-by: Rob Landley config CEVT_BCM1480 bool -@@ -2994,6 +2991,18 @@ choice +@@ -2996,6 +2993,18 @@ choice bool "Extend builtin kernel arguments with bootloader arguments" endchoice diff --git a/target/linux/generic/pending-6.6/332-arc-add-OWRTDTB-section.patch b/target/linux/generic/pending-6.6/332-arc-add-OWRTDTB-section.patch index ee82f12fe..490e26ab1 100644 --- a/target/linux/generic/pending-6.6/332-arc-add-OWRTDTB-section.patch +++ b/target/linux/generic/pending-6.6/332-arc-add-OWRTDTB-section.patch @@ -42,7 +42,7 @@ Signed-off-by: Evgeniy Didin ;---------------------------------------------------------------- --- a/arch/arc/kernel/setup.c +++ b/arch/arc/kernel/setup.c -@@ -452,6 +452,8 @@ static inline bool uboot_arg_invalid(uns +@@ -450,6 +450,8 @@ static inline bool uboot_arg_invalid(uns /* We always pass 0 as magic from U-boot */ #define UBOOT_MAGIC_VALUE 0 @@ -51,7 +51,7 @@ Signed-off-by: Evgeniy Didin void __init handle_uboot_args(void) { bool use_embedded_dtb = true; -@@ -490,7 +492,7 @@ void __init handle_uboot_args(void) +@@ -488,7 +490,7 @@ void __init handle_uboot_args(void) ignore_uboot_args: if (use_embedded_dtb) { diff --git a/target/linux/generic/pending-6.6/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-6.6/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index 39bbb930d..20081a30e 100644 --- a/target/linux/generic/pending-6.6/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/pending-6.6/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -2176,6 +2176,8 @@ struct net_device { +@@ -2187,6 +2187,8 @@ struct net_device { struct netdev_hw_addr_list mc; struct netdev_hw_addr_list dev_addrs; @@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau __u8 ipvs_property:1; --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -7683,6 +7683,48 @@ static void __netdev_adjacent_dev_unlink +@@ -7686,6 +7686,48 @@ static void __netdev_adjacent_dev_unlink &upper_dev->adj_list.lower); } @@ -81,7 +81,7 @@ Signed-off-by: Felix Fietkau static int __netdev_upper_dev_link(struct net_device *dev, struct net_device *upper_dev, bool master, void *upper_priv, void *upper_info, -@@ -7734,6 +7776,7 @@ static int __netdev_upper_dev_link(struc +@@ -7737,6 +7779,7 @@ static int __netdev_upper_dev_link(struc if (ret) return ret; @@ -89,7 +89,7 @@ Signed-off-by: Felix Fietkau ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); ret = notifier_to_errno(ret); -@@ -7825,6 +7868,7 @@ static void __netdev_upper_dev_unlink(st +@@ -7828,6 +7871,7 @@ static void __netdev_upper_dev_unlink(st changeupper_info.master = netdev_master_upper_dev_get(dev) == upper_dev; @@ -97,7 +97,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers_info(NETDEV_PRECHANGEUPPER, &changeupper_info.info); -@@ -8886,6 +8930,7 @@ int dev_set_mac_address(struct net_devic +@@ -8889,6 +8933,7 @@ int dev_set_mac_address(struct net_devic return err; } dev->addr_assign_type = NET_ADDR_SET; diff --git a/target/linux/generic/pending-6.6/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch b/target/linux/generic/pending-6.6/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch index 28c4b7c32..a8139dc2e 100644 --- a/target/linux/generic/pending-6.6/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch +++ b/target/linux/generic/pending-6.6/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch @@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c -@@ -8174,7 +8174,7 @@ static int nft_register_flowtable_net_ho +@@ -8177,7 +8177,7 @@ static int nft_register_flowtable_net_ho err = flowtable->data.type->setup(&flowtable->data, hook->ops.dev, FLOW_BLOCK_BIND); diff --git a/target/linux/generic/pending-6.6/703-phy-add-detach-callback-to-struct-phy_driver.patch b/target/linux/generic/pending-6.6/703-phy-add-detach-callback-to-struct-phy_driver.patch index 7b3206942..bf455fbd4 100644 --- a/target/linux/generic/pending-6.6/703-phy-add-detach-callback-to-struct-phy_driver.patch +++ b/target/linux/generic/pending-6.6/703-phy-add-detach-callback-to-struct-phy_driver.patch @@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1800,6 +1800,9 @@ void phy_detach(struct phy_device *phyde +@@ -1801,6 +1801,9 @@ void phy_detach(struct phy_device *phyde if (phydev->devlink) device_link_del(phydev->devlink); diff --git a/target/linux/generic/pending-6.6/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch b/target/linux/generic/pending-6.6/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch index 162c99283..332d7e721 100644 --- a/target/linux/generic/pending-6.6/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch +++ b/target/linux/generic/pending-6.6/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch @@ -17,7 +17,7 @@ Signed-off-by: Tobias Waldekranz --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -6869,6 +6869,7 @@ static int mv88e6xxx_register_switch(str +@@ -6883,6 +6883,7 @@ static int mv88e6xxx_register_switch(str ds->ops = &mv88e6xxx_switch_ops; ds->ageing_time_min = chip->info->age_time_coeff; ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX; diff --git a/target/linux/generic/pending-6.6/920-mangle_bootargs.patch b/target/linux/generic/pending-6.6/920-mangle_bootargs.patch index 721701f63..998fc500d 100644 --- a/target/linux/generic/pending-6.6/920-mangle_bootargs.patch +++ b/target/linux/generic/pending-6.6/920-mangle_bootargs.patch @@ -31,7 +31,7 @@ Signed-off-by: Imre Kaloz help --- a/init/main.c +++ b/init/main.c -@@ -604,6 +604,29 @@ static inline void setup_nr_cpu_ids(void +@@ -608,6 +608,29 @@ static inline void setup_nr_cpu_ids(void static inline void smp_prepare_cpus(unsigned int maxcpus) { } #endif @@ -61,7 +61,7 @@ Signed-off-by: Imre Kaloz /* * We need to store the untouched command line for future reference. * We also need to store the touched command line since the parameter -@@ -891,6 +914,7 @@ void start_kernel(void) +@@ -895,6 +918,7 @@ void start_kernel(void) pr_notice("%s", linux_banner); early_security_init(); setup_arch(&command_line); diff --git a/target/linux/loongarch64/patches/0001-Revert-i2c-core-Run-atomic-i2c-xfer-when-preemptible.patch b/target/linux/loongarch64/patches/0001-Revert-i2c-core-Run-atomic-i2c-xfer-when-preemptible.patch deleted file mode 100644 index c8b20404c..000000000 --- a/target/linux/loongarch64/patches/0001-Revert-i2c-core-Run-atomic-i2c-xfer-when-preemptible.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 0664955bf98135d4e028132423513d648ba3a51d Mon Sep 17 00:00:00 2001 -From: Weijie Gao -Date: Thu, 4 Jan 2024 22:49:27 +0800 -Subject: [PATCH] Revert "i2c: core: Run atomic i2c xfer when !preemptible" - -This reverts commit 3473cf43b9068b9dfef2f545f833f33c6a544b91. - -The commit breaks machine shutdown with the following error: - -[ 26.679218] ------------[ cut here ]------------ -[ 26.683815] No atomic I2C transfer handler for 'i2c-3' -[ 26.688932] WARNING: CPU: 5 PID: 2612 at drivers/i2c/i2c-core.h:40 init_per_zone_wmark_min+0x8fffffff009ef3f0/0x8fffffff00c50000 - -and will finally trigger a kernel panic. - -This is fixed by revert the commit. - -Signed-off-by: Weijie Gao ---- - drivers/i2c/i2c-core.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/i2c/i2c-core.h -+++ b/drivers/i2c/i2c-core.h -@@ -29,7 +29,7 @@ int i2c_dev_irq_from_resources(const str - */ - static inline bool i2c_in_atomic_xfer_mode(void) - { -- return system_state > SYSTEM_RUNNING && !preemptible(); -+ return system_state > SYSTEM_RUNNING && irqs_disabled(); - } - - static inline int __i2c_lock_bus_helper(struct i2c_adapter *adap)