mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 14:23:38 +00:00
kernel: bump 6.6 to 6.6.13 (#11817)
This commit is contained in:
parent
b15250f0b3
commit
a5823d43b1
@ -1,2 +1,2 @@
|
|||||||
LINUX_VERSION-6.6 = .10
|
LINUX_VERSION-6.6 = .13
|
||||||
LINUX_KERNEL_HASH-6.6.10 = 9ee627e4c109aec7fca3eda5898e81d201af2c7eb2f7d9d7d94c1f0e1205546c
|
LINUX_KERNEL_HASH-6.6.13 = 88b89e7dd41ead4e3ab1e411c8bb8d592575acf815cf1df3c0dc57e2e882c0bc
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -1899,6 +1899,7 @@ enum netdev_ml_priv_type {
|
@@ -1906,6 +1906,7 @@ enum netdev_stat_type {
|
||||||
* @tipc_ptr: TIPC specific data
|
* @tipc_ptr: TIPC specific data
|
||||||
* @atalk_ptr: AppleTalk link
|
* @atalk_ptr: AppleTalk link
|
||||||
* @ip_ptr: IPv4 specific data
|
* @ip_ptr: IPv4 specific data
|
||||||
@ -27,7 +27,7 @@
|
|||||||
* @ip6_ptr: IPv6 specific data
|
* @ip6_ptr: IPv6 specific data
|
||||||
* @ax25_ptr: AX.25 specific data
|
* @ax25_ptr: AX.25 specific data
|
||||||
* @ieee80211_ptr: IEEE 802.11 specific data, assign before registering
|
* @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 */
|
/* Protocol-specific pointers */
|
||||||
|
|
||||||
@ -36,7 +36,7 @@
|
|||||||
#if IS_ENABLED(CONFIG_VLAN_8021Q)
|
#if IS_ENABLED(CONFIG_VLAN_8021Q)
|
||||||
struct vlan_info __rcu *vlan_info;
|
struct vlan_info __rcu *vlan_info;
|
||||||
#endif
|
#endif
|
||||||
@@ -2205,15 +2204,16 @@ struct net_device {
|
@@ -2216,15 +2215,16 @@ struct net_device {
|
||||||
#if IS_ENABLED(CONFIG_ATALK)
|
#if IS_ENABLED(CONFIG_ATALK)
|
||||||
void *atalk_ptr;
|
void *atalk_ptr;
|
||||||
#endif
|
#endif
|
||||||
@ -57,7 +57,7 @@
|
|||||||
#if IS_ENABLED(CONFIG_MPLS_ROUTING)
|
#if IS_ENABLED(CONFIG_MPLS_ROUTING)
|
||||||
struct mpls_dev __rcu *mpls_ptr;
|
struct mpls_dev __rcu *mpls_ptr;
|
||||||
#endif
|
#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);
|
netif_napi_add_weight(dev, napi, poll, weight);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ This reverts commit bffcc6882a1bb2be8c9420184966f4c2c822078e.
|
|||||||
retcode = drbd_adm_prepare(&adm_ctx, skb, info, DRBD_ADM_NEED_RESOURCE);
|
retcode = drbd_adm_prepare(&adm_ctx, skb, info, DRBD_ADM_NEED_RESOURCE);
|
||||||
--- a/include/net/genetlink.h
|
--- a/include/net/genetlink.h
|
||||||
+++ b/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
|
* @family: generic netlink family
|
||||||
* @nlhdr: netlink message header
|
* @nlhdr: netlink message header
|
||||||
* @genlhdr: generic netlink message header
|
* @genlhdr: generic netlink message header
|
||||||
@ -56,7 +56,7 @@ This reverts commit bffcc6882a1bb2be8c9420184966f4c2c822078e.
|
|||||||
* @attrs: netlink attributes
|
* @attrs: netlink attributes
|
||||||
* @_net: network namespace
|
* @_net: network namespace
|
||||||
* @user_ptr: user pointers
|
* @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 genl_family *family;
|
||||||
const struct nlmsghdr * nlhdr;
|
const struct nlmsghdr * nlhdr;
|
||||||
struct genlmsghdr * genlhdr;
|
struct genlmsghdr * genlhdr;
|
||||||
@ -64,7 +64,7 @@ This reverts commit bffcc6882a1bb2be8c9420184966f4c2c822078e.
|
|||||||
struct nlattr ** attrs;
|
struct nlattr ** attrs;
|
||||||
possible_net_t _net;
|
possible_net_t _net;
|
||||||
void * user_ptr[2];
|
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);
|
write_pnet(&info->_net, net);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -268,7 +268,7 @@ This reverts commit bffcc6882a1bb2be8c9420184966f4c2c822078e.
|
|||||||
struct dp_meter *old_meter;
|
struct dp_meter *old_meter;
|
||||||
--- a/net/tipc/netlink_compat.c
|
--- a/net/tipc/netlink_compat.c
|
||||||
+++ b/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 tipc_nl_compat_msg msg;
|
||||||
struct nlmsghdr *req_nlh;
|
struct nlmsghdr *req_nlh;
|
||||||
struct nlmsghdr *rep_nlh;
|
struct nlmsghdr *rep_nlh;
|
||||||
|
@ -127,7 +127,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
if (err)
|
if (err)
|
||||||
--- a/scripts/mod/modpost.c
|
--- a/scripts/mod/modpost.c
|
||||||
+++ b/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);
|
symname = remove_dot(info.strtab + sym->st_name);
|
||||||
|
|
||||||
handle_symbol(mod, &info, sym, symname);
|
handle_symbol(mod, &info, sym, symname);
|
||||||
@ -137,7 +137,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
}
|
}
|
||||||
|
|
||||||
check_sec_ref(mod, &info);
|
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_SALT;\n");
|
||||||
buf_printf(b, "BUILD_LTO_INFO;\n");
|
buf_printf(b, "BUILD_LTO_INFO;\n");
|
||||||
buf_printf(b, "\n");
|
buf_printf(b, "\n");
|
||||||
@ -148,7 +148,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
buf_printf(b, "\n");
|
buf_printf(b, "\n");
|
||||||
buf_printf(b, "__visible struct module __this_module\n");
|
buf_printf(b, "__visible struct module __this_module\n");
|
||||||
buf_printf(b, "__section(\".gnu.linkonce.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)
|
static void add_srcversion(struct buffer *b, struct module *mod)
|
||||||
{
|
{
|
||||||
@ -162,7 +162,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void write_buf(struct buffer *b, const char *fname)
|
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_exported_symbols(&buf, mod);
|
||||||
add_versions(&buf, mod);
|
add_versions(&buf, mod);
|
||||||
add_depends(&buf, mod);
|
add_depends(&buf, mod);
|
||||||
|
@ -140,7 +140,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
#include <linux/mutex.h>
|
#include <linux/mutex.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
#include <linux/property.h>
|
#include <linux/property.h>
|
||||||
@@ -3431,3 +3432,5 @@ static int __init regmap_initcall(void)
|
@@ -3433,3 +3434,5 @@ static int __init regmap_initcall(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
postcore_initcall(regmap_initcall);
|
postcore_initcall(regmap_initcall);
|
||||||
|
@ -10,7 +10,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
|||||||
|
|
||||||
--- a/arch/mips/Kconfig
|
--- a/arch/mips/Kconfig
|
||||||
+++ b/arch/mips/Kconfig
|
+++ b/arch/mips/Kconfig
|
||||||
@@ -1089,6 +1089,10 @@ config MIPS_MSC
|
@@ -1090,6 +1090,10 @@ config MIPS_MSC
|
||||||
config SYNC_R4K
|
config SYNC_R4K
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
|||||||
#include <linux/crc32.h>
|
#include <linux/crc32.h>
|
||||||
#include <linux/if_vlan.h>
|
#include <linux/if_vlan.h>
|
||||||
#include <linux/uaccess.h>
|
#include <linux/uaccess.h>
|
||||||
@@ -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);
|
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
|||||||
static void r8152b_init(struct r8152 *tp)
|
static void r8152b_init(struct r8152 *tp)
|
||||||
{
|
{
|
||||||
u32 ocp_data;
|
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 = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL);
|
||||||
ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN);
|
ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN);
|
||||||
ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data);
|
ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data);
|
||||||
@ -54,7 +54,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void r8153_init(struct r8152 *tp)
|
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;
|
tp->coalesce = COALESCE_SLOW;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -63,7 +63,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void r8153b_init(struct r8152 *tp)
|
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);
|
rtl_tally_reset(tp);
|
||||||
|
|
||||||
tp->coalesce = 15000; /* 15 us */
|
tp->coalesce = 15000; /* 15 us */
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#define QUECTEL_VENDOR_ID 0x2c7c
|
#define QUECTEL_VENDOR_ID 0x2c7c
|
||||||
/* These Quectel products use Quectel's vendor ID */
|
/* 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 },
|
.driver_info = ZLP },
|
||||||
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
|
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
|
||||||
.driver_info = RSVD(4) },
|
.driver_info = RSVD(4) },
|
||||||
|
@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/net/core/sock.c
|
--- a/net/core/sock.c
|
||||||
+++ b/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)
|
static int __init proto_init(void)
|
||||||
{
|
{
|
||||||
|
@ -64,7 +64,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
+dma-shared-buffer-objs := $(dma-buf-objs-y)
|
+dma-shared-buffer-objs := $(dma-buf-objs-y)
|
||||||
--- a/drivers/dma-buf/dma-buf.c
|
--- a/drivers/dma-buf/dma-buf.c
|
||||||
+++ b/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);
|
kern_unmount(dma_buf_mnt);
|
||||||
dma_buf_uninit_sysfs_statistics();
|
dma_buf_uninit_sysfs_statistics();
|
||||||
}
|
}
|
||||||
@ -73,7 +73,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
+MODULE_LICENSE("GPL");
|
+MODULE_LICENSE("GPL");
|
||||||
--- a/kernel/sched/core.c
|
--- a/kernel/sched/core.c
|
||||||
+++ b/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);
|
return try_to_wake_up(p, state, 0);
|
||||||
}
|
}
|
||||||
@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
* Perform scheduler related setup for a newly forked process p.
|
* Perform scheduler related setup for a newly forked process p.
|
||||||
--- a/fs/d_path.c
|
--- a/fs/d_path.c
|
||||||
+++ b/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;
|
buffer += buflen - sz;
|
||||||
return memcpy(buffer, temp, sz);
|
return memcpy(buffer, temp, sz);
|
||||||
}
|
}
|
||||||
|
@ -94,7 +94,7 @@ Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
|
|||||||
#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
||||||
--- a/include/net/netns/conntrack.h
|
--- a/include/net/netns/conntrack.h
|
||||||
+++ b/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;
|
u8 sysctl_checksum;
|
||||||
|
|
||||||
struct ip_conntrack_stat __percpu *stat;
|
struct ip_conntrack_stat __percpu *stat;
|
||||||
@ -106,7 +106,7 @@ Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
|
|||||||
#if defined(CONFIG_NF_CONNTRACK_LABELS)
|
#if defined(CONFIG_NF_CONNTRACK_LABELS)
|
||||||
--- a/net/netfilter/Kconfig
|
--- a/net/netfilter/Kconfig
|
||||||
+++ b/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'.
|
If unsure, say `N'.
|
||||||
|
|
||||||
@ -123,7 +123,7 @@ Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
|
|||||||
depends on NETFILTER_ADVANCED
|
depends on NETFILTER_ADVANCED
|
||||||
--- a/net/netfilter/nf_conntrack_core.c
|
--- a/net/netfilter/nf_conntrack_core.c
|
||||||
+++ b/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_ecache_pernet_init(net);
|
||||||
nf_conntrack_proto_pernet_init(net);
|
nf_conntrack_proto_pernet_init(net);
|
||||||
|
|
||||||
@ -299,7 +299,7 @@ Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
|
|||||||
void nf_conntrack_ecache_work(struct net *net, enum nf_ct_ecache_state state)
|
void nf_conntrack_ecache_work(struct net *net, enum nf_ct_ecache_state state)
|
||||||
--- a/net/netfilter/nf_conntrack_netlink.c
|
--- a/net/netfilter/nf_conntrack_netlink.c
|
||||||
+++ b/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
|
static int
|
||||||
|
@ -12,9 +12,9 @@
|
|||||||
struct list_head *br_ip_list);
|
struct list_head *br_ip_list);
|
||||||
--- a/include/linux/skbuff.h
|
--- a/include/linux/skbuff.h
|
||||||
+++ b/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 csum_not_inet:1;
|
||||||
__u8 scm_io_uring:1;
|
#endif
|
||||||
|
|
||||||
+#ifdef CONFIG_SHORTCUT_FE
|
+#ifdef CONFIG_SHORTCUT_FE
|
||||||
+ __u8 fast_forwarded:1;
|
+ __u8 fast_forwarded:1;
|
||||||
@ -49,7 +49,7 @@
|
|||||||
const struct nf_ct_event_notifier *nb);
|
const struct nf_ct_event_notifier *nb);
|
||||||
--- a/net/Kconfig
|
--- a/net/Kconfig
|
||||||
+++ b/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
|
migration of VMs with direct attached VFs by failing over to the
|
||||||
paravirtual datapath when the VF is unplugged.
|
paravirtual datapath when the VF is unplugged.
|
||||||
|
|
||||||
@ -61,8 +61,8 @@
|
|||||||
default y
|
default y
|
||||||
--- a/net/bridge/br_if.c
|
--- a/net/bridge/br_if.c
|
||||||
+++ b/net/bridge/br_if.c
|
+++ b/net/bridge/br_if.c
|
||||||
@@ -767,6 +767,28 @@ void br_port_flags_change(struct net_bri
|
@@ -764,6 +764,28 @@ void br_port_flags_change(struct net_bri
|
||||||
br_offload_port_state(p);
|
br_recalculate_neigh_suppress_enabled(br);
|
||||||
}
|
}
|
||||||
|
|
||||||
+void br_dev_update_stats(struct net_device *dev,
|
+void br_dev_update_stats(struct net_device *dev,
|
||||||
@ -92,7 +92,7 @@
|
|||||||
struct net_bridge_port *p;
|
struct net_bridge_port *p;
|
||||||
--- a/net/core/dev.c
|
--- a/net/core/dev.c
|
||||||
+++ b/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;
|
unsigned int len;
|
||||||
int rc;
|
int rc;
|
||||||
@ -109,9 +109,9 @@
|
|||||||
+ }
|
+ }
|
||||||
+#endif
|
+#endif
|
||||||
|
|
||||||
#ifdef CONFIG_ETHERNET_PACKET_MANGLE
|
len = skb->len;
|
||||||
if (dev->eth_mangle_tx && !(skb = dev->eth_mangle_tx(dev, skb)))
|
trace_net_dev_start_xmit(skb, dev);
|
||||||
@@ -5245,6 +5253,11 @@ void netdev_rx_handler_unregister(struct
|
@@ -5303,6 +5311,11 @@ void netdev_rx_handler_unregister(struct
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister);
|
EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister);
|
||||||
|
|
||||||
@ -123,7 +123,7 @@
|
|||||||
/*
|
/*
|
||||||
* Limit the use of PFMEMALLOC reserves to those protocols that implement
|
* Limit the use of PFMEMALLOC reserves to those protocols that implement
|
||||||
* the special handling of PFMEMALLOC skbs.
|
* 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;
|
int ret = NET_RX_DROP;
|
||||||
__be16 type;
|
__be16 type;
|
||||||
|
|
||||||
@ -134,7 +134,7 @@
|
|||||||
net_timestamp_check(!READ_ONCE(netdev_tstamp_prequeue), skb);
|
net_timestamp_check(!READ_ONCE(netdev_tstamp_prequeue), skb);
|
||||||
|
|
||||||
trace_netif_receive_skb(skb);
|
trace_netif_receive_skb(skb);
|
||||||
@@ -5330,6 +5347,15 @@ another_round:
|
@@ -5388,6 +5405,15 @@ another_round:
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
--- a/net/wireless/wext-core.c
|
--- a/net/wireless/wext-core.c
|
||||||
+++ b/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)
|
else if (private)
|
||||||
return private(dev, iwr, cmd, info, handler);
|
return private(dev, iwr, cmd, info, handler);
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
--- a/drivers/virtio/Kconfig
|
--- a/drivers/virtio/Kconfig
|
||||||
+++ b/drivers/virtio/Kconfig
|
+++ b/drivers/virtio/Kconfig
|
||||||
@@ -3,7 +3,7 @@
|
@@ -3,7 +3,7 @@ config VIRTIO_ANCHOR
|
||||||
bool
|
bool
|
||||||
|
|
||||||
config VIRTIO
|
config VIRTIO
|
||||||
@ -9,7 +9,7 @@
|
|||||||
select VIRTIO_ANCHOR
|
select VIRTIO_ANCHOR
|
||||||
help
|
help
|
||||||
This option is selected by any driver which implements the virtio
|
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.
|
or CONFIG_S390_GUEST.
|
||||||
|
|
||||||
config VIRTIO_PCI_LIB
|
config VIRTIO_PCI_LIB
|
||||||
@ -20,7 +20,7 @@
|
|||||||
basic probe and control for devices which are based on modern
|
basic probe and control for devices which are based on modern
|
||||||
--- a/crypto/Kconfig
|
--- a/crypto/Kconfig
|
||||||
+++ b/crypto/Kconfig
|
+++ b/crypto/Kconfig
|
||||||
@@ -842,7 +842,7 @@
|
@@ -842,7 +842,7 @@ config CRYPTO_GCM
|
||||||
This is required for IPSec ESP (XFRM_ESP).
|
This is required for IPSec ESP (XFRM_ESP).
|
||||||
|
|
||||||
config CRYPTO_GENIV
|
config CRYPTO_GENIV
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
--- a/include/linux/device/class.h
|
--- a/include/linux/device/class.h
|
||||||
+++ b/include/linux/device/class.h
|
+++ b/include/linux/device/class.h
|
||||||
@@ -51,6 +51,7 @@
|
@@ -51,6 +51,7 @@ struct fwnode_handle;
|
||||||
*/
|
*/
|
||||||
struct class {
|
struct class {
|
||||||
const char *name;
|
const char *name;
|
||||||
@ -10,7 +10,7 @@
|
|||||||
const struct attribute_group **dev_groups;
|
const struct attribute_group **dev_groups;
|
||||||
--- a/include/linux/prandom.h
|
--- a/include/linux/prandom.h
|
||||||
+++ b/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) \
|
#define prandom_init_once(pcpu_state) \
|
||||||
DO_ONCE(prandom_seed_full_state, (pcpu_state))
|
DO_ONCE(prandom_seed_full_state, (pcpu_state))
|
||||||
|
|
||||||
@ -25,7 +25,7 @@
|
|||||||
*/
|
*/
|
||||||
--- a/include/linux/u64_stats_sync.h
|
--- a/include/linux/u64_stats_sync.h
|
||||||
+++ b/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);
|
return __u64_stats_fetch_retry(syncp, start);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -44,7 +44,7 @@
|
|||||||
#endif /* _LINUX_U64_STATS_SYNC_H */
|
#endif /* _LINUX_U64_STATS_SYNC_H */
|
||||||
--- a/drivers/thermal/thermal_core.c
|
--- a/drivers/thermal/thermal_core.c
|
||||||
+++ b/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);
|
return ERR_PTR(-EINVAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -53,11 +53,10 @@
|
|||||||
return ERR_PTR(-EINVAL);
|
return ERR_PTR(-EINVAL);
|
||||||
|
|
||||||
if (!thermal_class)
|
if (!thermal_class)
|
||||||
@@ -1392,6 +1392,17 @@
|
@@ -1393,6 +1393,17 @@ free_tz:
|
||||||
return ERR_PTR(result);
|
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(thermal_zone_device_register_with_trips);
|
EXPORT_SYMBOL_GPL(thermal_zone_device_register_with_trips);
|
||||||
+
|
|
||||||
+struct thermal_zone_device *thermal_zone_device_register(const char *type, int ntrips, int mask,
|
+struct thermal_zone_device *thermal_zone_device_register(const char *type, int ntrips, int mask,
|
||||||
+ void *devdata, struct thermal_zone_device_ops *ops,
|
+ void *devdata, struct thermal_zone_device_ops *ops,
|
||||||
+ const struct thermal_zone_params *tzp, int passive_delay,
|
+ const struct thermal_zone_params *tzp, int passive_delay,
|
||||||
@ -68,12 +67,13 @@
|
|||||||
+ passive_delay, polling_delay);
|
+ passive_delay, polling_delay);
|
||||||
+}
|
+}
|
||||||
+EXPORT_SYMBOL_GPL(thermal_zone_device_register);
|
+EXPORT_SYMBOL_GPL(thermal_zone_device_register);
|
||||||
|
+
|
||||||
struct thermal_zone_device *thermal_tripless_zone_device_register(
|
struct thermal_zone_device *thermal_tripless_zone_device_register(
|
||||||
const char *type,
|
const char *type,
|
||||||
|
void *devdata,
|
||||||
--- a/drivers/thermal/thermal_trip.c
|
--- a/drivers/thermal/thermal_trip.c
|
||||||
+++ b/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,
|
int __thermal_zone_get_trip(struct thermal_zone_device *tz, int trip_id,
|
||||||
struct thermal_trip *trip)
|
struct thermal_trip *trip)
|
||||||
{
|
{
|
||||||
@ -108,7 +108,7 @@
|
|||||||
|
|
||||||
--- a/include/linux/thermal.h
|
--- a/include/linux/thermal.h
|
||||||
+++ b/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 (*set_trips) (struct thermal_zone_device *, int, int);
|
||||||
int (*change_mode) (struct thermal_zone_device *,
|
int (*change_mode) (struct thermal_zone_device *,
|
||||||
enum thermal_device_mode);
|
enum thermal_device_mode);
|
||||||
@ -120,7 +120,7 @@
|
|||||||
int (*set_trip_hyst) (struct thermal_zone_device *, int, int);
|
int (*set_trip_hyst) (struct thermal_zone_device *, int, int);
|
||||||
int (*get_crit_temp) (struct thermal_zone_device *, int *);
|
int (*get_crit_temp) (struct thermal_zone_device *, int *);
|
||||||
int (*set_emul_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
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_THERMAL
|
#ifdef CONFIG_THERMAL
|
||||||
@ -135,7 +135,7 @@
|
|||||||
struct thermal_zone_device *thermal_zone_device_register_with_trips(
|
struct thermal_zone_device *thermal_zone_device_register_with_trips(
|
||||||
const char *type,
|
const char *type,
|
||||||
struct thermal_trip *trips,
|
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);
|
int thermal_zone_device_disable(struct thermal_zone_device *tz);
|
||||||
void thermal_zone_device_critical(struct thermal_zone_device *tz);
|
void thermal_zone_device_critical(struct thermal_zone_device *tz);
|
||||||
#else
|
#else
|
||||||
|
@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/arch/mips/kernel/process.c
|
--- a/arch/mips/kernel/process.c
|
||||||
+++ b/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 ||
|
if (ip->i_format.opcode == addiu_op ||
|
||||||
ip->i_format.opcode == daddiu_op) {
|
ip->i_format.opcode == daddiu_op) {
|
||||||
|
@ -9,7 +9,7 @@ Acked-by: Rob Landley <rob@landley.net>
|
|||||||
---
|
---
|
||||||
--- a/arch/mips/Kconfig
|
--- a/arch/mips/Kconfig
|
||||||
+++ b/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
|
config ARCH_MAY_HAVE_PC_FDC
|
||||||
bool
|
bool
|
||||||
|
|
||||||
@ -19,7 +19,7 @@ Acked-by: Rob Landley <rob@landley.net>
|
|||||||
config CEVT_BCM1480
|
config CEVT_BCM1480
|
||||||
bool
|
bool
|
||||||
|
|
||||||
@@ -2994,6 +2991,18 @@ choice
|
@@ -2996,6 +2993,18 @@ choice
|
||||||
bool "Extend builtin kernel arguments with bootloader arguments"
|
bool "Extend builtin kernel arguments with bootloader arguments"
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
|
|||||||
;----------------------------------------------------------------
|
;----------------------------------------------------------------
|
||||||
--- a/arch/arc/kernel/setup.c
|
--- a/arch/arc/kernel/setup.c
|
||||||
+++ b/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 */
|
/* We always pass 0 as magic from U-boot */
|
||||||
#define UBOOT_MAGIC_VALUE 0
|
#define UBOOT_MAGIC_VALUE 0
|
||||||
|
|
||||||
@ -51,7 +51,7 @@ Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
|
|||||||
void __init handle_uboot_args(void)
|
void __init handle_uboot_args(void)
|
||||||
{
|
{
|
||||||
bool use_embedded_dtb = true;
|
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:
|
ignore_uboot_args:
|
||||||
|
|
||||||
if (use_embedded_dtb) {
|
if (use_embedded_dtb) {
|
||||||
|
@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/include/linux/netdevice.h
|
--- a/include/linux/netdevice.h
|
||||||
+++ b/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 mc;
|
||||||
struct netdev_hw_addr_list dev_addrs;
|
struct netdev_hw_addr_list dev_addrs;
|
||||||
|
|
||||||
@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
__u8 ipvs_property:1;
|
__u8 ipvs_property:1;
|
||||||
--- a/net/core/dev.c
|
--- a/net/core/dev.c
|
||||||
+++ b/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);
|
&upper_dev->adj_list.lower);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -81,7 +81,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
static int __netdev_upper_dev_link(struct net_device *dev,
|
static int __netdev_upper_dev_link(struct net_device *dev,
|
||||||
struct net_device *upper_dev, bool master,
|
struct net_device *upper_dev, bool master,
|
||||||
void *upper_priv, void *upper_info,
|
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)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
@ -89,7 +89,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
|
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
|
||||||
&changeupper_info.info);
|
&changeupper_info.info);
|
||||||
ret = notifier_to_errno(ret);
|
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;
|
changeupper_info.master = netdev_master_upper_dev_get(dev) == upper_dev;
|
||||||
|
|
||||||
@ -97,7 +97,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
call_netdevice_notifiers_info(NETDEV_PRECHANGEUPPER,
|
call_netdevice_notifiers_info(NETDEV_PRECHANGEUPPER,
|
||||||
&changeupper_info.info);
|
&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;
|
return err;
|
||||||
}
|
}
|
||||||
dev->addr_assign_type = NET_ADDR_SET;
|
dev->addr_assign_type = NET_ADDR_SET;
|
||||||
|
@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/net/netfilter/nf_tables_api.c
|
--- a/net/netfilter/nf_tables_api.c
|
||||||
+++ b/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,
|
err = flowtable->data.type->setup(&flowtable->data,
|
||||||
hook->ops.dev,
|
hook->ops.dev,
|
||||||
FLOW_BLOCK_BIND);
|
FLOW_BLOCK_BIND);
|
||||||
|
@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
|||||||
|
|
||||||
--- a/drivers/net/phy/phy_device.c
|
--- a/drivers/net/phy/phy_device.c
|
||||||
+++ b/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)
|
if (phydev->devlink)
|
||||||
device_link_del(phydev->devlink);
|
device_link_del(phydev->devlink);
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
|
|||||||
|
|
||||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||||
+++ b/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->ops = &mv88e6xxx_switch_ops;
|
||||||
ds->ageing_time_min = chip->info->age_time_coeff;
|
ds->ageing_time_min = chip->info->age_time_coeff;
|
||||||
ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX;
|
ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX;
|
||||||
|
@ -31,7 +31,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
|
|||||||
help
|
help
|
||||||
--- a/init/main.c
|
--- a/init/main.c
|
||||||
+++ b/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) { }
|
static inline void smp_prepare_cpus(unsigned int maxcpus) { }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -61,7 +61,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
|
|||||||
/*
|
/*
|
||||||
* We need to store the untouched command line for future reference.
|
* We need to store the untouched command line for future reference.
|
||||||
* We also need to store the touched command line since the parameter
|
* 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);
|
pr_notice("%s", linux_banner);
|
||||||
early_security_init();
|
early_security_init();
|
||||||
setup_arch(&command_line);
|
setup_arch(&command_line);
|
||||||
|
@ -1,33 +0,0 @@
|
|||||||
From 0664955bf98135d4e028132423513d648ba3a51d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Weijie Gao <hackpascal@gmail.com>
|
|
||||||
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 <hackpascal@gmail.com>
|
|
||||||
---
|
|
||||||
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)
|
|
Loading…
Reference in New Issue
Block a user