mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-20 00:23:30 +00:00
kernel: bump 5.10 to 5.10.216
This commit is contained in:
parent
e87716ac87
commit
4e3d253ef9
@ -1,2 +1,2 @@
|
|||||||
LINUX_VERSION-5.10 = .215
|
LINUX_VERSION-5.10 = .216
|
||||||
LINUX_KERNEL_HASH-5.10.215 = 879ca159c34ea9d3a6775f292cc59c2d3931d57dca00f0bebe2675ea0c82c6a9
|
LINUX_KERNEL_HASH-5.10.216 = e310588c4b23f0959614e60f007afc20e9b1a8f296d682b041fa129f96fbe151
|
||||||
|
@ -1913,7 +1913,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
eth_hw_addr_inherit(slave_dev, master);
|
eth_hw_addr_inherit(slave_dev, master);
|
||||||
--- a/net/ethernet/eth.c
|
--- a/net/ethernet/eth.c
|
||||||
+++ b/net/ethernet/eth.c
|
+++ b/net/ethernet/eth.c
|
||||||
@@ -506,13 +506,14 @@ unsigned char * __weak arch_get_platform
|
@@ -496,13 +496,14 @@ unsigned char * __weak arch_get_platform
|
||||||
|
|
||||||
int eth_platform_get_mac_address(struct device *dev, u8 *mac_addr)
|
int eth_platform_get_mac_address(struct device *dev, u8 *mac_addr)
|
||||||
{
|
{
|
||||||
|
@ -35,7 +35,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
/* Enable checksum offload */
|
/* Enable checksum offload */
|
||||||
*tmp = AX_RXCOE_IP | AX_RXCOE_TCP | AX_RXCOE_UDP |
|
*tmp = AX_RXCOE_IP | AX_RXCOE_TCP | AX_RXCOE_UDP |
|
||||||
@@ -1587,17 +1588,19 @@ ax88179_tx_fixup(struct usbnet *dev, str
|
@@ -1582,17 +1583,19 @@ ax88179_tx_fixup(struct usbnet *dev, str
|
||||||
{
|
{
|
||||||
u32 tx_hdr1, tx_hdr2;
|
u32 tx_hdr1, tx_hdr2;
|
||||||
int frame_size = dev->maxpacket;
|
int frame_size = dev->maxpacket;
|
||||||
@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
if ((skb_header_cloned(skb) || headroom < 0) &&
|
if ((skb_header_cloned(skb) || headroom < 0) &&
|
||||||
pskb_expand_head(skb, headroom < 0 ? 8 : 0, 0, GFP_ATOMIC)) {
|
pskb_expand_head(skb, headroom < 0 ? 8 : 0, 0, GFP_ATOMIC)) {
|
||||||
dev_kfree_skb_any(skb);
|
dev_kfree_skb_any(skb);
|
||||||
@@ -1608,6 +1611,8 @@ ax88179_tx_fixup(struct usbnet *dev, str
|
@@ -1603,6 +1606,8 @@ ax88179_tx_fixup(struct usbnet *dev, str
|
||||||
put_unaligned_le32(tx_hdr1, ptr);
|
put_unaligned_le32(tx_hdr1, ptr);
|
||||||
put_unaligned_le32(tx_hdr2, ptr + 4);
|
put_unaligned_le32(tx_hdr2, ptr + 4);
|
||||||
|
|
||||||
|
@ -0,0 +1,82 @@
|
|||||||
|
From: Felix Fietkau <nbd@nbd.name>
|
||||||
|
Date: Fri, 7 Jul 2017 17:18:54 +0200
|
||||||
|
Subject: bridge: only accept EAP locally
|
||||||
|
|
||||||
|
When bridging, do not forward EAP frames to other ports, only deliver
|
||||||
|
them locally, regardless of the state.
|
||||||
|
|
||||||
|
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
|
[add disable_eap_hack sysfs attribute]
|
||||||
|
Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
|
||||||
|
---
|
||||||
|
|
||||||
|
--- a/net/bridge/br_input.c
|
||||||
|
+++ b/net/bridge/br_input.c
|
||||||
|
@@ -114,10 +114,14 @@ int br_handle_frame_finish(struct net *n
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+ BR_INPUT_SKB_CB(skb)->brdev = br->dev;
|
||||||
|
+
|
||||||
|
+ if (skb->protocol == htons(ETH_P_PAE) && !br->disable_eap_hack)
|
||||||
|
+ return br_pass_frame_up(skb);
|
||||||
|
+
|
||||||
|
if (state == BR_STATE_LEARNING)
|
||||||
|
goto drop;
|
||||||
|
|
||||||
|
- BR_INPUT_SKB_CB(skb)->brdev = br->dev;
|
||||||
|
BR_INPUT_SKB_CB(skb)->src_port_isolated = !!(p->flags & BR_ISOLATED);
|
||||||
|
|
||||||
|
if (IS_ENABLED(CONFIG_INET) &&
|
||||||
|
--- a/net/bridge/br_private.h
|
||||||
|
+++ b/net/bridge/br_private.h
|
||||||
|
@@ -404,6 +404,8 @@ struct net_bridge {
|
||||||
|
u16 group_fwd_mask;
|
||||||
|
u16 group_fwd_mask_required;
|
||||||
|
|
||||||
|
+ bool disable_eap_hack;
|
||||||
|
+
|
||||||
|
/* STP */
|
||||||
|
bridge_id designated_root;
|
||||||
|
bridge_id bridge_id;
|
||||||
|
--- a/net/bridge/br_sysfs_br.c
|
||||||
|
+++ b/net/bridge/br_sysfs_br.c
|
||||||
|
@@ -164,6 +164,30 @@ static ssize_t group_fwd_mask_store(stru
|
||||||
|
}
|
||||||
|
static DEVICE_ATTR_RW(group_fwd_mask);
|
||||||
|
|
||||||
|
+static ssize_t disable_eap_hack_show(struct device *d,
|
||||||
|
+ struct device_attribute *attr,
|
||||||
|
+ char *buf)
|
||||||
|
+{
|
||||||
|
+ struct net_bridge *br = to_bridge(d);
|
||||||
|
+ return sprintf(buf, "%u\n", br->disable_eap_hack);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static int set_disable_eap_hack(struct net_bridge *br, unsigned long val)
|
||||||
|
+{
|
||||||
|
+ br->disable_eap_hack = !!val;
|
||||||
|
+
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static ssize_t disable_eap_hack_store(struct device *d,
|
||||||
|
+ struct device_attribute *attr,
|
||||||
|
+ const char *buf,
|
||||||
|
+ size_t len)
|
||||||
|
+{
|
||||||
|
+ return store_bridge_parm(d, buf, len, set_disable_eap_hack);
|
||||||
|
+}
|
||||||
|
+static DEVICE_ATTR_RW(disable_eap_hack);
|
||||||
|
+
|
||||||
|
static ssize_t priority_show(struct device *d, struct device_attribute *attr,
|
||||||
|
char *buf)
|
||||||
|
{
|
||||||
|
@@ -849,6 +873,7 @@ static struct attribute *bridge_attrs[]
|
||||||
|
&dev_attr_ageing_time.attr,
|
||||||
|
&dev_attr_stp_state.attr,
|
||||||
|
&dev_attr_group_fwd_mask.attr,
|
||||||
|
+ &dev_attr_disable_eap_hack.attr,
|
||||||
|
&dev_attr_priority.attr,
|
||||||
|
&dev_attr_bridge_id.attr,
|
||||||
|
&dev_attr_root_id.attr,
|
@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
for (i = sizeof(struct ipt_entry);
|
for (i = sizeof(struct ipt_entry);
|
||||||
i < e->target_offset;
|
i < e->target_offset;
|
||||||
i += m->u.match_size) {
|
i += m->u.match_size) {
|
||||||
@@ -1224,12 +1261,15 @@ compat_copy_entry_to_user(struct ipt_ent
|
@@ -1226,12 +1263,15 @@ compat_copy_entry_to_user(struct ipt_ent
|
||||||
compat_uint_t origsize;
|
compat_uint_t origsize;
|
||||||
const struct xt_entry_match *ematch;
|
const struct xt_entry_match *ematch;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
@ -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
|
||||||
@@ -2061,6 +2061,8 @@ struct net_device {
|
@@ -1995,6 +1995,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;
|
||||||
|
|
||||||
@ -22,17 +22,17 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
#endif
|
#endif
|
||||||
--- a/include/linux/skbuff.h
|
--- a/include/linux/skbuff.h
|
||||||
+++ b/include/linux/skbuff.h
|
+++ b/include/linux/skbuff.h
|
||||||
@@ -864,6 +864,7 @@ struct sk_buff {
|
@@ -831,6 +831,7 @@ struct sk_buff {
|
||||||
__u8 decrypted:1;
|
|
||||||
#endif
|
|
||||||
__u8 scm_io_uring:1;
|
|
||||||
+ __u8 gro_skip:1;
|
|
||||||
|
|
||||||
#ifdef CONFIG_NET_SCHED
|
#ifdef CONFIG_NET_SCHED
|
||||||
__u16 tc_index; /* traffic control index */
|
__u16 tc_index; /* traffic control index */
|
||||||
|
#endif
|
||||||
|
+ __u8 gro_skip:1;
|
||||||
|
|
||||||
|
union {
|
||||||
|
__wsum csum;
|
||||||
--- a/net/core/dev.c
|
--- a/net/core/dev.c
|
||||||
+++ b/net/core/dev.c
|
+++ b/net/core/dev.c
|
||||||
@@ -6081,6 +6081,9 @@ static enum gro_result dev_gro_receive(s
|
@@ -5516,6 +5516,9 @@ static enum gro_result dev_gro_receive(s
|
||||||
int same_flow;
|
int same_flow;
|
||||||
int grow;
|
int grow;
|
||||||
|
|
||||||
@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
if (netif_elide_gro(skb->dev))
|
if (netif_elide_gro(skb->dev))
|
||||||
goto normal;
|
goto normal;
|
||||||
|
|
||||||
@@ -8060,6 +8063,48 @@ static void __netdev_adjacent_dev_unlink
|
@@ -7318,6 +7321,48 @@ static void __netdev_adjacent_dev_unlink
|
||||||
&upper_dev->adj_list.lower);
|
&upper_dev->adj_list.lower);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -91,7 +91,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,
|
||||||
@@ -8111,6 +8156,7 @@ static int __netdev_upper_dev_link(struc
|
@@ -7368,6 +7413,7 @@ static int __netdev_upper_dev_link(struc
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
@ -99,7 +99,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);
|
||||||
@@ -8207,6 +8253,7 @@ static void __netdev_upper_dev_unlink(st
|
@@ -7461,6 +7507,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||||
|
|
||||||
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
|
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
|
||||||
|
|
||||||
@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
|
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
|
||||||
&changeupper_info.info);
|
&changeupper_info.info);
|
||||||
|
|
||||||
@@ -8993,6 +9040,7 @@ int dev_set_mac_address(struct net_devic
|
@@ -8191,6 +8238,7 @@ int dev_set_mac_address(struct net_devic
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
dev->addr_assign_type = NET_ADDR_SET;
|
dev->addr_assign_type = NET_ADDR_SET;
|
||||||
@ -136,14 +136,13 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
/**
|
/**
|
||||||
* eth_type_trans - determine the packet's protocol ID.
|
* eth_type_trans - determine the packet's protocol ID.
|
||||||
* @skb: received socket data
|
* @skb: received socket data
|
||||||
@@ -174,6 +186,10 @@ __be16 eth_type_trans(struct sk_buff *sk
|
@@ -184,6 +184,9 @@ __be16 eth_type_trans(struct sk_buff *skb, struct net_device *dev)
|
||||||
} else {
|
|
||||||
skb->pkt_type = PACKET_OTHERHOST;
|
eth_skb_pkt_type(skb, dev);
|
||||||
}
|
|
||||||
+
|
|
||||||
+ if (eth_check_local_mask(eth->h_dest, dev->dev_addr,
|
+ if (eth_check_local_mask(eth->h_dest, dev->dev_addr,
|
||||||
+ dev->local_addr_mask))
|
+ dev->local_addr_mask))
|
||||||
+ skb->gro_skip = 1;
|
+ skb->gro_skip = 1;
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
* Some variants of DSA tagging don't have an ethertype field
|
||||||
|
* at all, so we check here whether one of those tagging
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
From: Felix Fietkau <nbd@nbd.name>
|
|
||||||
Date: Mon, 7 Feb 2022 10:27:22 +0100
|
|
||||||
Subject: [PATCH] arm64: dts: mediatek: mt7622: add support for coherent
|
|
||||||
DMA
|
|
||||||
|
|
||||||
It improves performance by eliminating the need for a cache flush on rx and tx
|
|
||||||
|
|
||||||
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|
||||||
---
|
|
||||||
|
|
||||||
--- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi
|
|
||||||
+++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
|
|
||||||
@@ -357,7 +357,7 @@
|
|
||||||
};
|
|
||||||
|
|
||||||
cci_control2: slave-if@5000 {
|
|
||||||
- compatible = "arm,cci-400-ctrl-if";
|
|
||||||
+ compatible = "arm,cci-400-ctrl-if", "syscon";
|
|
||||||
interface-type = "ace";
|
|
||||||
reg = <0x5000 0x1000>;
|
|
||||||
};
|
|
||||||
@@ -937,6 +937,8 @@
|
|
||||||
power-domains = <&scpsys MT7622_POWER_DOMAIN_ETHSYS>;
|
|
||||||
mediatek,ethsys = <ðsys>;
|
|
||||||
mediatek,sgmiisys = <&sgmiisys>;
|
|
||||||
+ mediatek,cci-control = <&cci_control2>;
|
|
||||||
+ dma-coherent;
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
status = "disabled";
|
|
@ -1,62 +0,0 @@
|
|||||||
From: Felix Fietkau <nbd@nbd.name>
|
|
||||||
Date: Sat, 5 Feb 2022 18:36:36 +0100
|
|
||||||
Subject: [PATCH] arm64: dts: mediatek: mt7622: introduce nodes for
|
|
||||||
Wireless Ethernet Dispatch
|
|
||||||
|
|
||||||
Introduce wed0 and wed1 nodes in order to enable offloading forwarding
|
|
||||||
between ethernet and wireless devices on the mt7622 chipset.
|
|
||||||
|
|
||||||
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|
||||||
---
|
|
||||||
|
|
||||||
--- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi
|
|
||||||
+++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
|
|
||||||
@@ -893,6 +893,11 @@
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
+ hifsys: syscon@1af00000 {
|
|
||||||
+ compatible = "mediatek,mt7622-hifsys", "syscon";
|
|
||||||
+ reg = <0 0x1af00000 0 0x70>;
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
ethsys: syscon@1b000000 {
|
|
||||||
compatible = "mediatek,mt7622-ethsys",
|
|
||||||
"syscon";
|
|
||||||
@@ -911,6 +916,26 @@
|
|
||||||
#dma-cells = <1>;
|
|
||||||
};
|
|
||||||
|
|
||||||
+ pcie_mirror: pcie-mirror@10000400 {
|
|
||||||
+ compatible = "mediatek,mt7622-pcie-mirror",
|
|
||||||
+ "syscon";
|
|
||||||
+ reg = <0 0x10000400 0 0x10>;
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ wed0: wed@1020a000 {
|
|
||||||
+ compatible = "mediatek,mt7622-wed",
|
|
||||||
+ "syscon";
|
|
||||||
+ reg = <0 0x1020a000 0 0x1000>;
|
|
||||||
+ interrupts = <GIC_SPI 214 IRQ_TYPE_LEVEL_LOW>;
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ wed1: wed@1020b000 {
|
|
||||||
+ compatible = "mediatek,mt7622-wed",
|
|
||||||
+ "syscon";
|
|
||||||
+ reg = <0 0x1020b000 0 0x1000>;
|
|
||||||
+ interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_LOW>;
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
eth: ethernet@1b100000 {
|
|
||||||
compatible = "mediatek,mt7622-eth",
|
|
||||||
"mediatek,mt2701-eth",
|
|
||||||
@@ -938,6 +963,9 @@
|
|
||||||
mediatek,ethsys = <ðsys>;
|
|
||||||
mediatek,sgmiisys = <&sgmiisys>;
|
|
||||||
mediatek,cci-control = <&cci_control2>;
|
|
||||||
+ mediatek,wed = <&wed0>, <&wed1>;
|
|
||||||
+ mediatek,pcie-mirror = <&pcie_mirror>;
|
|
||||||
+ mediatek,hifsys = <&hifsys>;
|
|
||||||
dma-coherent;
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
@ -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
|
||||||
@@ -866,6 +889,7 @@ asmlinkage __visible void __init __no_sa
|
@@ -868,6 +891,7 @@ asmlinkage __visible void __init __no_sa
|
||||||
pr_notice("%s", linux_banner);
|
pr_notice("%s", linux_banner);
|
||||||
early_security_init();
|
early_security_init();
|
||||||
setup_arch(&command_line);
|
setup_arch(&command_line);
|
||||||
|
@ -189,7 +189,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
|
|||||||
static int kernel_init(void *);
|
static int kernel_init(void *);
|
||||||
|
|
||||||
extern void init_IRQ(void);
|
extern void init_IRQ(void);
|
||||||
@@ -903,6 +907,18 @@ asmlinkage __visible void __init __no_sa
|
@@ -905,6 +909,18 @@ asmlinkage __visible void __init __no_sa
|
||||||
pr_notice("Kernel command line: %s\n", saved_command_line);
|
pr_notice("Kernel command line: %s\n", saved_command_line);
|
||||||
/* parameters may set static keys */
|
/* parameters may set static keys */
|
||||||
jump_label_init();
|
jump_label_init();
|
||||||
|
@ -187,7 +187,7 @@ Signed-off-by: Michael Gray <michael.gray@lantisproject.com>
|
|||||||
static int kernel_init(void *);
|
static int kernel_init(void *);
|
||||||
|
|
||||||
extern void init_IRQ(void);
|
extern void init_IRQ(void);
|
||||||
@@ -901,6 +905,18 @@ asmlinkage __visible void __init __no_sa
|
@@ -903,6 +907,18 @@ asmlinkage __visible void __init __no_sa
|
||||||
page_alloc_init();
|
page_alloc_init();
|
||||||
|
|
||||||
pr_notice("Kernel command line: %s\n", saved_command_line);
|
pr_notice("Kernel command line: %s\n", saved_command_line);
|
||||||
|
@ -168,7 +168,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
|
|||||||
static int kernel_init(void *);
|
static int kernel_init(void *);
|
||||||
|
|
||||||
extern void init_IRQ(void);
|
extern void init_IRQ(void);
|
||||||
@@ -901,6 +905,18 @@ asmlinkage __visible void __init __no_sa
|
@@ -903,6 +907,18 @@ asmlinkage __visible void __init __no_sa
|
||||||
page_alloc_init();
|
page_alloc_init();
|
||||||
|
|
||||||
pr_notice("Kernel command line: %s\n", saved_command_line);
|
pr_notice("Kernel command line: %s\n", saved_command_line);
|
||||||
|
@ -1849,7 +1849,7 @@
|
|||||||
+obj-$(CONFIG_PHYTIUM_IXIC) += irq-phytium-ixic.o
|
+obj-$(CONFIG_PHYTIUM_IXIC) += irq-phytium-ixic.o
|
||||||
--- a/drivers/irqchip/irq-gic-v3-its.c
|
--- a/drivers/irqchip/irq-gic-v3-its.c
|
||||||
+++ b/drivers/irqchip/irq-gic-v3-its.c
|
+++ b/drivers/irqchip/irq-gic-v3-its.c
|
||||||
@@ -4792,6 +4792,7 @@ static void its_restore_enable(void)
|
@@ -4787,6 +4787,7 @@ static void its_restore_enable(void)
|
||||||
{
|
{
|
||||||
struct its_node *its;
|
struct its_node *its;
|
||||||
int ret;
|
int ret;
|
||||||
@ -1857,7 +1857,7 @@
|
|||||||
|
|
||||||
raw_spin_lock(&its_lock);
|
raw_spin_lock(&its_lock);
|
||||||
list_for_each_entry(its, &its_nodes, entry) {
|
list_for_each_entry(its, &its_nodes, entry) {
|
||||||
@@ -4845,6 +4846,23 @@ static void its_restore_enable(void)
|
@@ -4840,6 +4841,23 @@ static void its_restore_enable(void)
|
||||||
GITS_TYPER_HCC(gic_read_typer(base + GITS_TYPER)))
|
GITS_TYPER_HCC(gic_read_typer(base + GITS_TYPER)))
|
||||||
its_cpu_init_collection(its);
|
its_cpu_init_collection(its);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user