kernel: bump 5.4 to 5.4.185 (#9080)

* kernel: bump 5.4 to 5.4.184

* kernel: bump 5.4 to 5.4.185
This commit is contained in:
JoseCoW 2022-03-17 16:01:57 +08:00 committed by GitHub
parent 62d205a746
commit f684871135
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
43 changed files with 158 additions and 168 deletions

View File

@ -1,2 +1,2 @@
LINUX_VERSION-5.4 = .175
LINUX_KERNEL_HASH-5.4.175 = ac901bdffb1488d6c730ca7ab42322163dd331b240e2f06ad83d199e251a4840
LINUX_VERSION-5.4 = .185
LINUX_KERNEL_HASH-5.4.185 = d15fe9da679bfb624f35f127a17559f6d037ad37a313cf5fd22ce155401f3787

View File

@ -292,7 +292,7 @@
#endif /* _LINUX_TYPES_H */
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
@@ -1441,8 +1441,8 @@ struct sk_buff *inet_gro_receive(struct
@@ -1444,8 +1444,8 @@ struct sk_buff *inet_gro_receive(struct
if (unlikely(ip_fast_csum((u8 *)iph, 5)))
goto out_unlock;
@ -534,7 +534,7 @@
goto next_ht;
--- a/net/ipv6/ip6_offload.c
+++ b/net/ipv6/ip6_offload.c
@@ -240,7 +240,7 @@ INDIRECT_CALLABLE_SCOPE struct sk_buff *
@@ -242,7 +242,7 @@ INDIRECT_CALLABLE_SCOPE struct sk_buff *
continue;
iph2 = (struct ipv6hdr *)(p->data + off);

View File

@ -37,7 +37,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
--- a/drivers/i2c/busses/i2c-bcm2835.c
+++ b/drivers/i2c/busses/i2c-bcm2835.c
@@ -51,6 +51,18 @@
@@ -56,6 +56,18 @@
#define BCM2835_I2C_CDIV_MIN 0x0002
#define BCM2835_I2C_CDIV_MAX 0xFFFE
@ -56,7 +56,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
struct bcm2835_i2c_dev {
struct device *dev;
void __iomem *regs;
@@ -63,8 +75,78 @@ struct bcm2835_i2c_dev {
@@ -68,8 +80,78 @@ struct bcm2835_i2c_dev {
u32 msg_err;
u8 *msg_buf;
size_t msg_buf_remaining;
@ -135,7 +135,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
static inline void bcm2835_i2c_writel(struct bcm2835_i2c_dev *i2c_dev,
u32 reg, u32 val)
{
@@ -252,6 +334,7 @@ static void bcm2835_i2c_start_transfer(s
@@ -257,6 +339,7 @@ static void bcm2835_i2c_start_transfer(s
bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_A, msg->addr);
bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_DLEN, msg->len);
bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, c);
@ -143,7 +143,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
}
static void bcm2835_i2c_finish_transfer(struct bcm2835_i2c_dev *i2c_dev)
@@ -278,6 +361,7 @@ static irqreturn_t bcm2835_i2c_isr(int t
@@ -283,6 +366,7 @@ static irqreturn_t bcm2835_i2c_isr(int t
u32 val, err;
val = bcm2835_i2c_readl(i2c_dev, BCM2835_I2C_S);
@ -151,7 +151,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
err = val & (BCM2835_I2C_S_CLKT | BCM2835_I2C_S_ERR);
if (err) {
@@ -344,6 +428,13 @@ static int bcm2835_i2c_xfer(struct i2c_a
@@ -349,6 +433,13 @@ static int bcm2835_i2c_xfer(struct i2c_a
unsigned long time_left;
int i;
@ -165,7 +165,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
for (i = 0; i < (num - 1); i++)
if (msgs[i].flags & I2C_M_RD) {
dev_warn_once(i2c_dev->dev,
@@ -362,6 +453,10 @@ static int bcm2835_i2c_xfer(struct i2c_a
@@ -367,6 +458,10 @@ static int bcm2835_i2c_xfer(struct i2c_a
bcm2835_i2c_finish_transfer(i2c_dev);
@ -176,7 +176,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
if (!time_left) {
bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C,
BCM2835_I2C_C_CLEAR);
@@ -372,7 +467,9 @@ static int bcm2835_i2c_xfer(struct i2c_a
@@ -377,7 +472,9 @@ static int bcm2835_i2c_xfer(struct i2c_a
if (!i2c_dev->msg_err)
return num;

View File

@ -11,7 +11,7 @@ Signed-off-by: Noralf Tronnes <notro@tronnes.org>
--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
@@ -350,7 +350,7 @@ static const struct gpio_chip bcm2835_gp
@@ -359,7 +359,7 @@ static const struct gpio_chip bcm2835_gp
.get = bcm2835_gpio_get,
.set = bcm2835_gpio_set,
.set_config = gpiochip_generic_config,

View File

@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
@@ -5721,6 +5721,9 @@ int __init cgroup_init_early(void)
@@ -5749,6 +5749,9 @@ int __init cgroup_init_early(void)
return 0;
}
@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
/**
* cgroup_init - cgroup initialization
*
@@ -5759,6 +5762,12 @@ int __init cgroup_init(void)
@@ -5787,6 +5790,12 @@ int __init cgroup_init(void)
mutex_unlock(&cgroup_mutex);
@ -40,7 +40,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
for_each_subsys(ss, ssid) {
if (ss->early_init) {
struct cgroup_subsys_state *css =
@@ -6168,6 +6177,10 @@ static int __init cgroup_disable(char *s
@@ -6196,6 +6205,10 @@ static int __init cgroup_disable(char *s
strcmp(token, ss->legacy_name))
continue;
@ -51,7 +51,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
static_branch_disable(cgroup_subsys_enabled_key[i]);
pr_info("Disabling %s control group subsystem\n",
ss->name);
@@ -6177,6 +6190,31 @@ static int __init cgroup_disable(char *s
@@ -6205,6 +6218,31 @@ static int __init cgroup_disable(char *s
}
__setup("cgroup_disable=", cgroup_disable);

View File

@ -27,7 +27,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
--- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c
@@ -1941,6 +1941,16 @@ reset:
@@ -1962,6 +1962,16 @@ reset:
return ret;
}

View File

@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -1469,6 +1469,103 @@ command_cleanup:
@@ -1475,6 +1475,103 @@ command_cleanup:
}
/*
@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
* non-error returns are a promise to giveback() the urb later
* we drop ownership so next owner (or urb unlink) can get it
*/
@@ -5358,6 +5455,7 @@ static const struct hc_driver xhci_hc_dr
@@ -5376,6 +5473,7 @@ static const struct hc_driver xhci_hc_dr
.endpoint_reset = xhci_endpoint_reset,
.check_bandwidth = xhci_check_bandwidth,
.reset_bandwidth = xhci_reset_bandwidth,

View File

@ -19,7 +19,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/i2c/busses/i2c-bcm2835.c
+++ b/drivers/i2c/busses/i2c-bcm2835.c
@@ -188,6 +188,7 @@ static int clk_bcm2835_i2c_set_rate(stru
@@ -193,6 +193,7 @@ static int clk_bcm2835_i2c_set_rate(stru
{
struct clk_bcm2835_i2c *div = to_clk_bcm2835_i2c(hw);
u32 redl, fedl;
@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
u32 divider = clk_bcm2835_i2c_calc_divider(rate, parent_rate);
if (divider == -EINVAL)
@@ -211,6 +212,17 @@ static int clk_bcm2835_i2c_set_rate(stru
@@ -216,6 +217,17 @@ static int clk_bcm2835_i2c_set_rate(stru
bcm2835_i2c_writel(div->i2c_dev, BCM2835_I2C_DEL,
(fedl << BCM2835_I2C_FEDL_SHIFT) |
(redl << BCM2835_I2C_REDL_SHIFT));

View File

@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
#define USB_VENDOR_ID_BELKIN 0x050d
#define USB_DEVICE_ID_FLIP_KVM 0x3201
@@ -1261,6 +1264,9 @@
@@ -1263,6 +1266,9 @@
#define USB_VENDOR_ID_XAT 0x2505
#define USB_DEVICE_ID_XAT_CSR 0x0220
@ -53,7 +53,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH), HID_QUIRK_MULTI_INPUT },
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL },
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE2), HID_QUIRK_ALWAYS_POLL },
@@ -192,6 +193,7 @@ static const struct hid_device_id hid_qu
@@ -194,6 +195,7 @@ static const struct hid_device_id hid_qu
{ HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP_LTD2, USB_DEVICE_ID_SMARTJOY_DUAL_PLUS), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT },
{ HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT },
{ HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE), HID_QUIRK_MULTI_INPUT },

View File

@ -14,12 +14,12 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
@@ -1135,7 +1135,7 @@ static int bcm2835_pinctrl_probe(struct
raw_spin_lock_init(&pc->irq_lock[i]);
}
@@ -1315,7 +1315,7 @@ static int bcm2835_pinctrl_probe(struct
girq->default_type = IRQ_TYPE_NONE;
girq->handler = handle_level_irq;
- err = gpiochip_add_data(&pc->gpio_chip, pc);
+ err = devm_gpiochip_add_data(dev, &pc->gpio_chip, pc);
if (err) {
dev_err(dev, "could not add GPIO chip\n");
return err;
goto out_remove;

View File

@ -190,7 +190,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
{}, \
}; \
\
@@ -344,6 +355,11 @@ static void __exit fbtft_driver_module_e
@@ -347,6 +358,11 @@ static void __exit fbtft_driver_module_e
module_init(fbtft_driver_module_init); \
module_exit(fbtft_driver_module_exit);

View File

@ -17,8 +17,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/net/bridge/br_device.c
+++ b/net/bridge/br_device.c
@@ -36,6 +36,8 @@ netdev_tx_t br_dev_xmit(struct sk_buff *
struct ethhdr *eth;
@@ -35,6 +35,8 @@ netdev_tx_t br_dev_xmit(struct sk_buff *
const unsigned char *dest;
u16 vid = 0;
+ memset(skb->cb, 0, sizeof(struct br_input_skb_cb));

View File

@ -66,7 +66,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -5475,8 +5475,7 @@ static inline void skb_gro_reset_offset(
@@ -5435,8 +5435,7 @@ static inline void skb_gro_reset_offset(
NAPI_GRO_CB(skb)->frag0 = NULL;
NAPI_GRO_CB(skb)->frag0_len = 0;

View File

@ -16,7 +16,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
--- a/drivers/net/phy/phylink.c
+++ b/drivers/net/phy/phylink.c
@@ -565,26 +565,17 @@ static const struct sfp_upstream_ops sfp
@@ -565,31 +565,17 @@ static const struct sfp_upstream_ops sfp
static int phylink_register_sfp(struct phylink *pl,
struct fwnode_handle *fwnode)
{
@ -42,6 +42,11 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
return ret;
}
- if (!fwnode_device_is_available(ref.fwnode)) {
- fwnode_handle_put(ref.fwnode);
- return 0;
- }
-
- pl->sfp_bus = sfp_register_upstream(ref.fwnode, pl, &sfp_phylink_ops);
- if (!pl->sfp_bus)
- return -ENOMEM;

View File

@ -96,7 +96,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -2198,6 +2198,13 @@ config TRIM_UNUSED_KSYMS
@@ -2208,6 +2208,13 @@ config TRIM_UNUSED_KSYMS
If unsure, or if you need to build out-of-tree modules, say N.

View File

@ -21,7 +21,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -111,6 +111,7 @@ config ARM
@@ -112,6 +112,7 @@ config ARM
select HAVE_UID16
select HAVE_VIRT_CPU_ACCOUNTING_GEN
select IRQ_FORCED_THREADING
@ -31,7 +31,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
select OF_EARLY_FLATTREE if OF
--- a/arch/arm/boot/compressed/Makefile
+++ b/arch/arm/boot/compressed/Makefile
@@ -106,6 +106,7 @@ ifeq ($(CONFIG_FUNCTION_TRACER),y)
@@ -108,6 +108,7 @@ ifeq ($(CONFIG_FUNCTION_TRACER),y)
ORIG_CFLAGS := $(KBUILD_CFLAGS)
KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS))
endif
@ -72,7 +72,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
--- a/arch/arm/kernel/vmlinux.lds.h
+++ b/arch/arm/kernel/vmlinux.lds.h
@@ -22,13 +22,13 @@
@@ -22,7 +22,7 @@
#define ARM_MMU_DISCARD(x)
#else
#define ARM_MMU_KEEP(x)
@ -80,6 +80,8 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
+#define ARM_MMU_DISCARD(x) KEEP(x)
#endif
/*
@@ -41,7 +41,7 @@
#define PROC_INFO \
. = ALIGN(4); \
__proc_info_begin = .; \
@ -88,7 +90,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
__proc_info_end = .;
#define HYPERVISOR_TEXT \
@@ -39,11 +39,11 @@
@@ -52,11 +52,11 @@
#define IDMAP_TEXT \
ALIGN_FUNCTION(); \
__idmap_text_start = .; \
@ -102,7 +104,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
__hyp_idmap_text_end = .;
#define ARM_DISCARD \
@@ -86,12 +86,12 @@
@@ -99,12 +99,12 @@
. = ALIGN(8); \
.ARM.unwind_idx : { \
__start_unwind_idx = .; \
@ -117,20 +119,29 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
__stop_unwind_tab = .; \
}
@@ -102,14 +102,14 @@
#define ARM_VECTORS \
__vectors_start = .; \
.vectors 0xffff0000 : AT(__vectors_start) { \
- *(.vectors) \
+ KEEP(*(.vectors)) \
@@ -116,13 +116,13 @@
__vectors_lma = .; \
OVERLAY 0xffff0000 : NOCROSSREFS AT(__vectors_lma) { \
.vectors { \
- *(.vectors) \
+ KEEP(*(.vectors)) \
} \
.vectors.bhb.loop8 { \
- *(.vectors.bhb.loop8) \
+ KEEP(*(.vectors.bhb.loop8)) \
} \
.vectors.bhb.bpiall { \
- *(.vectors.bhb.bpiall) \
+ KEEP(*(.vectors.bhb.bpiall)) \
} \
} \
. = __vectors_start + SIZEOF(.vectors); \
__vectors_end = .; \
ARM_LMA(__vectors, .vectors); \
@@ -134,7 +134,7 @@
\
__stubs_start = .; \
.stubs ADDR(.vectors) + 0x1000 : AT(__stubs_start) { \
__stubs_lma = .; \
.stubs ADDR(.vectors) + 0x1000 : AT(__stubs_lma) { \
- *(.stubs) \
+ KEEP(*(.stubs)) \
} \
. = __stubs_start + SIZEOF(.stubs); \
__stubs_end = .; \
ARM_LMA(__stubs, .stubs); \
. = __stubs_lma + SIZEOF(.stubs); \

View File

@ -286,7 +286,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
goto err;
--- a/net/core/net-procfs.c
+++ b/net/core/net-procfs.c
@@ -279,10 +279,12 @@ static int __net_init dev_proc_net_init(
@@ -309,10 +309,12 @@ static int __net_init dev_proc_net_init(
if (!proc_create_net("dev", 0444, net->proc_net, &dev_seq_ops,
sizeof(struct seq_net_private)))
goto out;
@ -301,7 +301,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
sizeof(struct seq_net_private)))
goto out_softnet;
@@ -292,9 +294,11 @@ static int __net_init dev_proc_net_init(
@@ -322,9 +324,11 @@ static int __net_init dev_proc_net_init(
out:
return rc;
out_ptype:
@ -315,7 +315,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
out_dev:
remove_proc_entry("dev", net->proc_net);
goto out;
@@ -304,8 +308,10 @@ static void __net_exit dev_proc_net_exit
@@ -334,8 +338,10 @@ static void __net_exit dev_proc_net_exit
{
wext_proc_exit(net);

View File

@ -25,7 +25,7 @@ Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -2043,7 +2043,8 @@ config CPU_MIPS32
@@ -2041,7 +2041,8 @@ config CPU_MIPS32
config CPU_MIPS64
bool

View File

@ -9,7 +9,7 @@ Acked-by: Rob Landley <rob@landley.net>
---
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -1074,9 +1074,6 @@ config FW_ARC
@@ -1072,9 +1072,6 @@ config FW_ARC
config ARCH_MAY_HAVE_PC_FDC
bool
@ -19,7 +19,7 @@ Acked-by: Rob Landley <rob@landley.net>
config CEVT_BCM1480
bool
@@ -3050,6 +3047,18 @@ choice
@@ -3048,6 +3045,18 @@ choice
bool "Extend builtin kernel arguments with bootloader arguments"
endchoice

View File

@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#define PACKET_FANOUT_LB 1
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -1797,6 +1797,7 @@ static int packet_rcv_spkt(struct sk_buf
@@ -1801,6 +1801,7 @@ static int packet_rcv_spkt(struct sk_buf
{
struct sock *sk;
struct sockaddr_pkt *spkt;
@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/*
* When we registered the protocol we saved the socket in the data
@@ -1804,6 +1805,7 @@ static int packet_rcv_spkt(struct sk_buf
@@ -1808,6 +1809,7 @@ static int packet_rcv_spkt(struct sk_buf
*/
sk = pt->af_packet_priv;
@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/*
* Yank back the headers [hope the device set this
@@ -1816,7 +1818,7 @@ static int packet_rcv_spkt(struct sk_buf
@@ -1820,7 +1822,7 @@ static int packet_rcv_spkt(struct sk_buf
* so that this procedure is noop.
*/
@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
goto out;
if (!net_eq(dev_net(dev), sock_net(sk)))
@@ -2054,12 +2056,12 @@ static int packet_rcv(struct sk_buff *sk
@@ -2058,12 +2060,12 @@ static int packet_rcv(struct sk_buff *sk
unsigned int snaplen, res;
bool is_drop_n_account = false;
@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop;
@@ -2185,12 +2187,12 @@ static int tpacket_rcv(struct sk_buff *s
@@ -2189,12 +2191,12 @@ static int tpacket_rcv(struct sk_buff *s
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop;
@@ -3289,6 +3291,7 @@ static int packet_create(struct net *net
@@ -3293,6 +3295,7 @@ static int packet_create(struct net *net
mutex_init(&po->pg_vec_lock);
po->rollover = NULL;
po->prot_hook.func = packet_rcv;
@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (sock->type == SOCK_PACKET)
po->prot_hook.func = packet_rcv_spkt;
@@ -3924,6 +3927,16 @@ packet_setsockopt(struct socket *sock, i
@@ -3930,6 +3933,16 @@ packet_setsockopt(struct socket *sock, i
po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
return 0;
}
@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
default:
return -ENOPROTOOPT;
}
@@ -3980,6 +3993,13 @@ static int packet_getsockopt(struct sock
@@ -3986,6 +3999,13 @@ static int packet_getsockopt(struct sock
case PACKET_VNET_HDR:
val = po->has_vnet_hdr;
break;

View File

@ -506,7 +506,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+MODULE_ALIAS("nf-flow-table-hw");
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
@@ -5743,6 +5743,13 @@ static int nf_tables_flowtable_parse_hoo
@@ -5748,6 +5748,13 @@ static int nf_tables_flowtable_parse_hoo
if (err < 0)
return err;
@ -520,7 +520,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
ops = kcalloc(n, sizeof(struct nf_hook_ops), GFP_KERNEL);
if (!ops)
return -ENOMEM;
@@ -5873,10 +5880,19 @@ static int nf_tables_newflowtable(struct
@@ -5878,10 +5885,19 @@ static int nf_tables_newflowtable(struct
}
flowtable->data.type = type;
@ -540,7 +540,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
err = nf_tables_flowtable_parse_hook(&ctx, nla[NFTA_FLOWTABLE_HOOK],
flowtable);
if (err < 0)
@@ -6002,7 +6018,8 @@ static int nf_tables_fill_flowtable_info
@@ -6007,7 +6023,8 @@ static int nf_tables_fill_flowtable_info
nla_put_string(skb, NFTA_FLOWTABLE_NAME, flowtable->name) ||
nla_put_be32(skb, NFTA_FLOWTABLE_USE, htonl(flowtable->use)) ||
nla_put_be64(skb, NFTA_FLOWTABLE_HANDLE, cpu_to_be64(flowtable->handle),

View File

@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#include <linux/uaccess.h>
#include "br_private.h"
@@ -384,6 +388,28 @@ static const struct ethtool_ops br_ethto
@@ -382,6 +386,28 @@ static const struct ethtool_ops br_ethto
.get_link = ethtool_op_get_link,
};
@ -49,7 +49,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static const struct net_device_ops br_netdev_ops = {
.ndo_open = br_dev_open,
.ndo_stop = br_dev_stop,
@@ -412,6 +438,9 @@ static const struct net_device_ops br_ne
@@ -410,6 +436,9 @@ static const struct net_device_ops br_ne
.ndo_bridge_setlink = br_setlink,
.ndo_bridge_dellink = br_dellink,
.ndo_features_check = passthru_features_check,

View File

@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -1927,6 +1927,8 @@ struct net_device {
@@ -1931,6 +1931,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 <nbd@nbd.name>
__u16 tc_index; /* traffic control index */
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -5541,6 +5541,9 @@ static enum gro_result dev_gro_receive(s
@@ -5501,6 +5501,9 @@ static enum gro_result dev_gro_receive(s
int same_flow;
int grow;
@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (netif_elide_gro(skb->dev))
goto normal;
@@ -7484,6 +7487,48 @@ static void __netdev_adjacent_dev_unlink
@@ -7303,6 +7306,48 @@ static void __netdev_adjacent_dev_unlink
&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,
struct net_device *upper_dev, bool master,
void *upper_priv, void *upper_info,
@@ -7534,6 +7579,7 @@ static int __netdev_upper_dev_link(struc
@@ -7353,6 +7398,7 @@ static int __netdev_upper_dev_link(struc
if (ret)
return ret;
@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
ret = notifier_to_errno(ret);
@@ -7627,6 +7673,7 @@ void netdev_upper_dev_unlink(struct net_
@@ -7446,6 +7492,7 @@ void netdev_upper_dev_unlink(struct net_
__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,
&changeupper_info.info);
@@ -8357,6 +8404,7 @@ int dev_set_mac_address(struct net_devic
@@ -8176,6 +8223,7 @@ int dev_set_mac_address(struct net_devic
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;

View File

@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static int netif_rx_internal(struct sk_buff *skb);
static int call_netdevice_notifiers_info(unsigned long val,
@@ -5940,6 +5941,11 @@ void __napi_schedule(struct napi_struct
@@ -5943,6 +5944,11 @@ void __napi_schedule(struct napi_struct
{
unsigned long flags;
@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
local_irq_save(flags);
____napi_schedule(this_cpu_ptr(&softnet_data), n);
local_irq_restore(flags);
@@ -5991,6 +5997,10 @@ EXPORT_SYMBOL(napi_schedule_prep);
@@ -5994,6 +6000,10 @@ EXPORT_SYMBOL(napi_schedule_prep);
*/
void __napi_schedule_irqoff(struct napi_struct *n)
{
@ -118,7 +118,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!IS_ENABLED(CONFIG_PREEMPT_RT))
____napi_schedule(this_cpu_ptr(&softnet_data), n);
else
@@ -6255,9 +6265,89 @@ static void init_gro_hash(struct napi_st
@@ -6258,9 +6268,89 @@ static void init_gro_hash(struct napi_st
napi->gro_bitmask = 0;
}
@ -208,7 +208,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
INIT_LIST_HEAD(&napi->poll_list);
hrtimer_init(&napi->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED);
napi->timer.function = napi_watchdog;
@@ -6274,6 +6364,7 @@ void netif_napi_add(struct net_device *d
@@ -6277,6 +6367,7 @@ void netif_napi_add(struct net_device *d
#ifdef CONFIG_NETPOLL
napi->poll_owner = -1;
#endif
@ -216,7 +216,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
set_bit(NAPI_STATE_SCHED, &napi->state);
set_bit(NAPI_STATE_NPSVC, &napi->state);
list_add_rcu(&napi->dev_list, &dev->napi_list);
@@ -6314,6 +6405,7 @@ static void flush_gro_hash(struct napi_s
@@ -6317,6 +6408,7 @@ static void flush_gro_hash(struct napi_s
void netif_napi_del(struct napi_struct *napi)
{
might_sleep();
@ -224,7 +224,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (napi_hash_del(napi))
synchronize_net();
list_del_init(&napi->dev_list);
@@ -6326,50 +6418,18 @@ EXPORT_SYMBOL(netif_napi_del);
@@ -6329,50 +6421,18 @@ EXPORT_SYMBOL(netif_napi_del);
static int napi_poll(struct napi_struct *n, struct list_head *repoll)
{
@ -279,7 +279,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* Some drivers may have called napi_schedule
* prior to exhausting their budget.
@@ -10349,6 +10409,10 @@ static int __init net_dev_init(void)
@@ -10352,6 +10412,10 @@ static int __init net_dev_init(void)
sd->backlog.weight = weight_p;
}

View File

@ -47,7 +47,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
}
/**
@@ -806,13 +796,23 @@ static int __phylink_connect_phy(struct
@@ -803,13 +796,23 @@ static int __phylink_connect_phy(struct
*/
int phylink_connect_phy(struct phylink *pl, struct phy_device *phy)
{

View File

@ -55,7 +55,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (changed && !test_bit(PHYLINK_DISABLE_STOPPED,
&pl->phylink_disable_state))
@@ -1775,15 +1778,20 @@ static int phylink_sfp_module_insert(voi
@@ -1770,15 +1778,20 @@ static int phylink_sfp_module_insert(voi
const struct sfp_eeprom_id *id)
{
struct phylink *pl = upstream;

View File

@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
/**
* ata_build_rw_tf - Build ATA taskfile for given read/write request
* @tf: Target ATA taskfile
@@ -5151,6 +5164,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
@@ -5152,6 +5165,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
if (tag < 0)
return NULL;
}
@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
qc = __ata_qc_from_tag(ap, tag);
qc->tag = qc->hw_tag = tag;
@@ -6087,6 +6103,9 @@ struct ata_port *ata_port_alloc(struct a
@@ -6088,6 +6104,9 @@ struct ata_port *ata_port_alloc(struct a
ap->stats.unhandled_irq = 1;
ap->stats.idle_irq = 1;
#endif
@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
ata_sff_port_init(ap);
return ap;
@@ -6122,6 +6141,12 @@ static void ata_host_release(struct kref
@@ -6123,6 +6142,12 @@ static void ata_host_release(struct kref
kfree(ap->pmp_link);
kfree(ap->slave_link);
@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
kfree(ap);
host->ports[i] = NULL;
}
@@ -6585,7 +6610,23 @@ int ata_host_register(struct ata_host *h
@@ -6586,7 +6611,23 @@ int ata_host_register(struct ata_host *h
host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
host->ports[i]->local_port_no = i + 1;
}

View File

@ -13,7 +13,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1665,6 +1665,15 @@ config EMBEDDED
@@ -1675,6 +1675,15 @@ config EMBEDDED
an embedded system so certain expert options are available
for configuration.

View File

@ -16,7 +16,7 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
--- a/drivers/mtd/nand/raw/qcom_nandc.c
+++ b/drivers/mtd/nand/raw/qcom_nandc.c
@@ -159,6 +159,11 @@
@@ -158,6 +158,11 @@
/* NAND_CTRL bits */
#define BAM_MODE_EN BIT(0)
@ -28,7 +28,7 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
/*
* the NAND controller performs reads/writes with ECC in 516 byte chunks.
* the driver calls the chunks 'step' or 'codeword' interchangeably
@@ -430,6 +435,13 @@ struct qcom_nand_controller {
@@ -429,6 +434,13 @@ struct qcom_nand_controller {
* @cfg0, cfg1, cfg0_raw..: NANDc register configurations needed for
* ecc/non-ecc mode for the current nand flash
* device
@ -42,7 +42,7 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
*/
struct qcom_nand_host {
struct nand_chip chip;
@@ -452,6 +464,9 @@ struct qcom_nand_host {
@@ -451,6 +463,9 @@ struct qcom_nand_host {
u32 ecc_bch_cfg;
u32 clrflashstatus;
u32 clrreadstatus;
@ -52,7 +52,7 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
};
/*
@@ -460,12 +475,14 @@ struct qcom_nand_host {
@@ -459,12 +474,14 @@ struct qcom_nand_host {
* @ecc_modes - ecc mode for NAND
* @is_bam - whether NAND controller is using BAM
* @is_qpic - whether NAND CTRL is part of qpic IP
@ -67,7 +67,7 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
u32 dev_cmd_reg_start;
};
@@ -1604,7 +1621,7 @@ qcom_nandc_read_cw_raw(struct mtd_info *
@@ -1603,7 +1620,7 @@ qcom_nandc_read_cw_raw(struct mtd_info *
data_size1 = mtd->writesize - host->cw_size * (ecc->steps - 1);
oob_size1 = host->bbm_size;
@ -76,7 +76,7 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
data_size2 = ecc->size - data_size1 -
((ecc->steps - 1) * 4);
oob_size2 = (ecc->steps * 4) + host->ecc_bytes_hw +
@@ -1685,7 +1702,7 @@ check_for_erased_page(struct qcom_nand_h
@@ -1684,7 +1701,7 @@ check_for_erased_page(struct qcom_nand_h
}
for_each_set_bit(cw, &uncorrectable_cws, ecc->steps) {
@ -85,7 +85,7 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
data_size = ecc->size - ((ecc->steps - 1) * 4);
oob_size = (ecc->steps * 4) + host->ecc_bytes_hw;
} else {
@@ -1844,7 +1861,7 @@ static int read_page_ecc(struct qcom_nan
@@ -1843,7 +1860,7 @@ static int read_page_ecc(struct qcom_nan
for (i = 0; i < ecc->steps; i++) {
int data_size, oob_size;
@ -94,7 +94,7 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
data_size = ecc->size - ((ecc->steps - 1) << 2);
oob_size = (ecc->steps << 2) + host->ecc_bytes_hw +
host->spare_bytes;
@@ -1941,6 +1958,30 @@ static int copy_last_cw(struct qcom_nand
@@ -1940,6 +1957,30 @@ static int copy_last_cw(struct qcom_nand
return ret;
}
@ -125,7 +125,7 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
/* implements ecc->read_page() */
static int qcom_nandc_read_page(struct nand_chip *chip, uint8_t *buf,
int oob_required, int page)
@@ -1949,6 +1990,9 @@ static int qcom_nandc_read_page(struct n
@@ -1948,6 +1989,9 @@ static int qcom_nandc_read_page(struct n
struct qcom_nand_controller *nandc = get_qcom_nand_controller(chip);
u8 *data_buf, *oob_buf = NULL;
@ -135,7 +135,7 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
nand_read_page_op(chip, page, 0, NULL, 0);
data_buf = buf;
oob_buf = oob_required ? chip->oob_poi : NULL;
@@ -1968,6 +2012,9 @@ static int qcom_nandc_read_page_raw(stru
@@ -1967,6 +2011,9 @@ static int qcom_nandc_read_page_raw(stru
int cw, ret;
u8 *data_buf = buf, *oob_buf = chip->oob_poi;
@ -145,7 +145,7 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
for (cw = 0; cw < ecc->steps; cw++) {
ret = qcom_nandc_read_cw_raw(mtd, chip, data_buf, oob_buf,
page, cw);
@@ -1988,6 +2035,9 @@ static int qcom_nandc_read_oob(struct na
@@ -1987,6 +2034,9 @@ static int qcom_nandc_read_oob(struct na
struct qcom_nand_controller *nandc = get_qcom_nand_controller(chip);
struct nand_ecc_ctrl *ecc = &chip->ecc;
@ -155,7 +155,7 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
clear_read_regs(nandc);
clear_bam_transaction(nandc);
@@ -2008,6 +2058,9 @@ static int qcom_nandc_write_page(struct
@@ -2007,6 +2057,9 @@ static int qcom_nandc_write_page(struct
u8 *data_buf, *oob_buf;
int i, ret;
@ -165,7 +165,7 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
nand_prog_page_begin_op(chip, page, 0, NULL, 0);
clear_read_regs(nandc);
@@ -2023,7 +2076,7 @@ static int qcom_nandc_write_page(struct
@@ -2022,7 +2075,7 @@ static int qcom_nandc_write_page(struct
for (i = 0; i < ecc->steps; i++) {
int data_size, oob_size;
@ -174,7 +174,7 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
data_size = ecc->size - ((ecc->steps - 1) << 2);
oob_size = (ecc->steps << 2) + host->ecc_bytes_hw +
host->spare_bytes;
@@ -2080,6 +2133,9 @@ static int qcom_nandc_write_page_raw(str
@@ -2079,6 +2132,9 @@ static int qcom_nandc_write_page_raw(str
u8 *data_buf, *oob_buf;
int i, ret;
@ -184,7 +184,7 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
nand_prog_page_begin_op(chip, page, 0, NULL, 0);
clear_read_regs(nandc);
clear_bam_transaction(nandc);
@@ -2098,7 +2154,7 @@ static int qcom_nandc_write_page_raw(str
@@ -2097,7 +2153,7 @@ static int qcom_nandc_write_page_raw(str
data_size1 = mtd->writesize - host->cw_size * (ecc->steps - 1);
oob_size1 = host->bbm_size;
@ -193,7 +193,7 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
data_size2 = ecc->size - data_size1 -
((ecc->steps - 1) << 2);
oob_size2 = (ecc->steps << 2) + host->ecc_bytes_hw +
@@ -2158,6 +2214,9 @@ static int qcom_nandc_write_oob(struct n
@@ -2157,6 +2213,9 @@ static int qcom_nandc_write_oob(struct n
int data_size, oob_size;
int ret;
@ -203,7 +203,7 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
host->use_ecc = true;
clear_bam_transaction(nandc);
@@ -2806,6 +2865,7 @@ static int qcom_nand_host_init_and_regis
@@ -2781,6 +2840,7 @@ static int qcom_nand_host_init_and_regis
struct nand_chip *chip = &host->chip;
struct mtd_info *mtd = nand_to_mtd(chip);
struct device *dev = nandc->dev;
@ -211,7 +211,7 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
int ret;
ret = of_property_read_u32(dn, "reg", &host->cs);
@@ -2866,6 +2926,17 @@ static int qcom_nand_host_init_and_regis
@@ -2841,6 +2901,17 @@ static int qcom_nand_host_init_and_regis
if (ret)
nand_cleanup(chip);
@ -229,7 +229,7 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
return ret;
}
@@ -3032,6 +3103,7 @@ static int qcom_nandc_remove(struct plat
@@ -3001,6 +3072,7 @@ static int qcom_nandc_remove(struct plat
static const struct qcom_nandc_props ipq806x_nandc_props = {
.ecc_modes = (ECC_RS_4BIT | ECC_BCH_8BIT),
.is_bam = false,

View File

@ -135,7 +135,7 @@
unsigned short gflags;
unsigned short padded;
@@ -2526,6 +2541,10 @@ enum netdev_cmd {
@@ -2527,6 +2542,10 @@ enum netdev_cmd {
NETDEV_CVLAN_FILTER_DROP_INFO,
NETDEV_SVLAN_FILTER_PUSH_INFO,
NETDEV_SVLAN_FILTER_DROP_INFO,
@ -514,7 +514,7 @@
if (bond_is_lb(bond))
bond_alb_handle_link_change(bond, new_active, BOND_LINK_UP);
} else {
@@ -1379,6 +1396,7 @@ int bond_enslave(struct net_device *bond
@@ -1407,6 +1425,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;
@ -522,7 +522,7 @@
int link_reporting;
int res = 0, i;
@@ -1780,6 +1798,13 @@ int bond_enslave(struct net_device *bond
@@ -1806,6 +1825,13 @@ int bond_enslave(struct net_device *bond
if (bond_mode_can_use_xmit_hash(bond))
bond_update_slave_arr(bond, NULL);
@ -536,7 +536,7 @@
slave_info(bond_dev, slave_dev, "Enslaving as %s interface with %s link\n",
bond_is_active_slave(new_slave) ? "an active" : "a backup",
@@ -1852,6 +1877,14 @@ err_undo_flags:
@@ -1878,6 +1904,14 @@ err_undo_flags:
}
}
@ -551,7 +551,7 @@
return res;
}
@@ -1873,6 +1906,7 @@ static int __bond_release_one(struct net
@@ -1899,6 +1933,7 @@ static int __bond_release_one(struct net
struct bonding *bond = netdev_priv(bond_dev);
struct slave *slave, *oldcurrent;
struct sockaddr_storage ss;
@ -559,7 +559,7 @@
int old_flags = bond_dev->flags;
netdev_features_t old_features = bond_dev->features;
@@ -1895,6 +1929,14 @@ static int __bond_release_one(struct net
@@ -1921,6 +1956,14 @@ static int __bond_release_one(struct net
bond_set_slave_inactive_flags(slave, BOND_SLAVE_NOTIFY_NOW);
@ -574,7 +574,7 @@
bond_sysfs_slave_del(slave);
/* recompute stats just before removing the slave */
@@ -2190,6 +2232,10 @@ static void bond_miimon_commit(struct bo
@@ -2217,6 +2260,10 @@ static void bond_miimon_commit(struct bo
{
struct list_head *iter;
struct slave *slave, *primary;
@ -585,7 +585,7 @@
bond_for_each_slave(bond, slave, iter) {
switch (slave->link_new_state) {
@@ -2233,6 +2279,12 @@ static void bond_miimon_commit(struct bo
@@ -2260,6 +2307,12 @@ static void bond_miimon_commit(struct bo
bond_miimon_link_change(bond, slave, BOND_LINK_UP);
@ -598,7 +598,7 @@
if (!bond->curr_active_slave || slave == primary)
goto do_failover;
@@ -2274,6 +2326,15 @@ do_failover:
@@ -2301,6 +2354,15 @@ do_failover:
}
bond_set_carrier(bond);
@ -614,7 +614,7 @@
}
/* bond_mii_monitor
@@ -4327,6 +4389,11 @@ static void bond_destructor(struct net_d
@@ -4383,6 +4445,11 @@ static void bond_destructor(struct net_d
struct bonding *bond = netdev_priv(bond_dev);
if (bond->wq)
destroy_workqueue(bond->wq);
@ -626,7 +626,7 @@
}
void bond_setup(struct net_device *bond_dev)
@@ -4872,6 +4939,16 @@ int bond_create(struct net *net, const c
@@ -4932,6 +4999,16 @@ int bond_create(struct net *net, const c
bond_work_init_all(bond);
rtnl_unlock();
@ -643,7 +643,7 @@
return 0;
}
@@ -4967,6 +5028,203 @@ static void __exit bonding_exit(void)
@@ -5027,6 +5104,203 @@ static void __exit bonding_exit(void)
#endif
}
@ -1284,7 +1284,7 @@
struct fib_table *tb;
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -7173,3 +7173,35 @@ void addrconf_cleanup(void)
@@ -7183,3 +7183,35 @@ void addrconf_cleanup(void)
destroy_workqueue(addrconf_wq);
}

View File

@ -1,5 +1,3 @@
diff --git a/crypto/authenc.c b/crypto/authenc.c
index 3f0ed9402..17ce66bba 100644
--- a/crypto/authenc.c
+++ b/crypto/authenc.c
@@ -449,6 +449,8 @@ static int crypto_authenc_create(struct crypto_template *tmpl,
@ -11,8 +9,6 @@ index 3f0ed9402..17ce66bba 100644
inst->alg.base.cra_priority = enc->base.cra_priority * 10 +
auth_base->cra_priority;
inst->alg.base.cra_blocksize = enc->base.cra_blocksize;
diff --git a/include/linux/crypto.h b/include/linux/crypto.h
index 19ea3a371..1463e824c 100644
--- a/include/linux/crypto.h
+++ b/include/linux/crypto.h
@@ -104,6 +104,11 @@
@ -27,11 +23,9 @@ index 19ea3a371..1463e824c 100644
/*
* Transform masks and values (for crt_flags).
*/
diff --git a/net/ipv4/esp4.c b/net/ipv4/esp4.c
index 5c9677640..23b3a9e91 100644
--- a/net/ipv4/esp4.c
+++ b/net/ipv4/esp4.c
@@ -488,6 +488,7 @@ static int esp_output(struct xfrm_state *x, struct sk_buff *skb)
@@ -483,6 +483,7 @@ static int esp_output(struct xfrm_state *x, struct sk_buff *skb)
struct ip_esp_hdr *esph;
struct crypto_aead *aead;
struct esp_info esp;
@ -39,7 +33,7 @@ index 5c9677640..23b3a9e91 100644
esp.inplace = true;
@@ -499,6 +500,11 @@ static int esp_output(struct xfrm_state *x, struct sk_buff *skb)
@@ -494,6 +495,11 @@ static int esp_output(struct xfrm_state *x, struct sk_buff *skb)
aead = x->data;
alen = crypto_aead_authsize(aead);
@ -51,7 +45,7 @@ index 5c9677640..23b3a9e91 100644
esp.tfclen = 0;
if (x->tfcpad) {
struct xfrm_dst *dst = (struct xfrm_dst *)skb_dst(skb);
@@ -708,6 +714,7 @@ static int esp_input(struct xfrm_state *x, struct sk_buff *skb)
@@ -703,6 +709,7 @@ static int esp_input(struct xfrm_state *x, struct sk_buff *skb)
u8 *iv;
struct scatterlist *sg;
int err = -EINVAL;
@ -59,7 +53,7 @@ index 5c9677640..23b3a9e91 100644
if (!pskb_may_pull(skb, sizeof(struct ip_esp_hdr) + ivlen))
goto out;
@@ -715,6 +722,12 @@ static int esp_input(struct xfrm_state *x, struct sk_buff *skb)
@@ -710,6 +717,12 @@ static int esp_input(struct xfrm_state *x, struct sk_buff *skb)
if (elen <= 0)
goto out;
@ -72,8 +66,6 @@ index 5c9677640..23b3a9e91 100644
assoclen = sizeof(struct ip_esp_hdr);
seqhilen = 0;
diff --git a/net/ipv6/esp6.c b/net/ipv6/esp6.c
index a3b403ba8..019bea284 100644
--- a/net/ipv6/esp6.c
+++ b/net/ipv6/esp6.c
@@ -429,6 +429,7 @@ static int esp6_output(struct xfrm_state *x, struct sk_buff *skb)

View File

@ -88,7 +88,7 @@
MODULE_LICENSE("GPL");
--- a/net/bridge/br_device.c
+++ b/net/bridge/br_device.c
@@ -85,6 +85,12 @@ netdev_tx_t br_dev_xmit(struct sk_buff *
@@ -87,6 +87,12 @@ netdev_tx_t br_dev_xmit(struct sk_buff *
if (is_broadcast_ether_addr(dest)) {
br_flood(br, skb, BR_PKT_BROADCAST, false, true);
} else if (is_multicast_ether_addr(dest)) {

View File

@ -63,7 +63,7 @@ Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
* address space as memory. Needed when the kernel wants to execute
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -314,6 +314,13 @@ static struct mem_type mem_types[] __ro_
@@ -316,6 +316,13 @@ static struct mem_type mem_types[] __ro_
.prot_sect = PMD_TYPE_SECT | PMD_SECT_AP_WRITE,
.domain = DOMAIN_KERNEL,
},
@ -77,7 +77,7 @@ Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
[MT_ROM] = {
.prot_sect = PMD_TYPE_SECT,
.domain = DOMAIN_KERNEL,
@@ -650,6 +657,7 @@ static void __init build_mem_type_table(
@@ -652,6 +659,7 @@ static void __init build_mem_type_table(
}
kern_pgprot |= PTE_EXT_AF;
vecs_pgprot |= PTE_EXT_AF;
@ -85,7 +85,7 @@ Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
/*
* Set PXN for user mappings
@@ -678,6 +686,7 @@ static void __init build_mem_type_table(
@@ -680,6 +688,7 @@ static void __init build_mem_type_table(
mem_types[MT_MEMORY_RWX].prot_pte |= kern_pgprot;
mem_types[MT_MEMORY_RW].prot_sect |= ecc_mask | cp->pmd;
mem_types[MT_MEMORY_RW].prot_pte |= kern_pgprot;

View File

@ -47,7 +47,7 @@ during v5.5-rc1.
--- a/drivers/net/phy/phylink.c
+++ b/drivers/net/phy/phylink.c
@@ -1008,7 +1008,8 @@ void phylink_start(struct phylink *pl)
@@ -1013,7 +1013,8 @@ void phylink_start(struct phylink *pl)
if (irq <= 0)
mod_timer(&pl->link_poll, jiffies + HZ);
}

View File

@ -439,7 +439,7 @@ This reverts commit cf9441adb1a35506d7606866c382b9d8614169b5.
IRQF_SHARED, dev_name(dev), pdev);
--- a/sound/soc/xilinx/xlnx_formatter_pcm.c
+++ b/sound/soc/xilinx/xlnx_formatter_pcm.c
@@ -613,6 +613,7 @@ static int xlnx_formatter_pcm_probe(stru
@@ -634,6 +634,7 @@ static int xlnx_formatter_pcm_probe(stru
aud_drv_data->mm2s_irq = platform_get_irq_byname(pdev,
"irq_mm2s");
if (aud_drv_data->mm2s_irq < 0) {
@ -447,7 +447,7 @@ This reverts commit cf9441adb1a35506d7606866c382b9d8614169b5.
ret = aud_drv_data->mm2s_irq;
goto clk_err;
}
@@ -639,6 +640,7 @@ static int xlnx_formatter_pcm_probe(stru
@@ -660,6 +661,7 @@ static int xlnx_formatter_pcm_probe(stru
aud_drv_data->s2mm_irq = platform_get_irq_byname(pdev,
"irq_s2mm");
if (aud_drv_data->s2mm_irq < 0) {

View File

@ -210,7 +210,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
#undef DEBUG
@@ -57,16 +55,16 @@ void __par_io_config_pin(struct qe_pio_r
@@ -59,16 +57,16 @@ void __par_io_config_pin(struct qe_pio_r
pin_mask1bit = (u32) (1 << (QE_PIO_PINS - (pin + 1)));
/* Set open drain, if required */
@ -232,7 +232,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
/* get all bits mask for 2 bit per port */
pin_mask2bits = (u32) (0x3 << (QE_PIO_PINS -
@@ -78,34 +76,30 @@ void __par_io_config_pin(struct qe_pio_r
@@ -80,34 +78,30 @@ void __par_io_config_pin(struct qe_pio_r
/* clear and set 2 bits mask */
if (pin > (QE_PIO_PINS / 2) - 1) {
@ -277,7 +277,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
}
}
EXPORT_SYMBOL(__par_io_config_pin);
@@ -133,12 +127,12 @@ int par_io_data_set(u8 port, u8 pin, u8
@@ -135,12 +129,12 @@ int par_io_data_set(u8 port, u8 pin, u8
/* calculate pin location */
pin_mask = (u32) (1 << (QE_PIO_PINS - 1 - pin));

View File

@ -54,7 +54,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
* All 3.1 IP version constants are greater than the 3.0 IP
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -3655,6 +3655,10 @@ int dwc3_gadget_init(struct dwc3 *dwc)
@@ -3670,6 +3670,10 @@ int dwc3_gadget_init(struct dwc3 *dwc)
dwc->gadget.sg_supported = true;
dwc->gadget.name = "dwc3-gadget";
dwc->gadget.lpm_capable = true;

View File

@ -20,7 +20,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
--- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c
@@ -2111,6 +2111,140 @@ int usb_hcd_get_frame_number (struct usb
@@ -2125,6 +2125,140 @@ int usb_hcd_get_frame_number (struct usb
}
/*-------------------------------------------------------------------------*/

View File

@ -174,7 +174,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
* bursts that are required to move all packets in this TD. Only SuperSpeed
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -5393,6 +5393,7 @@ static const struct hc_driver xhci_hc_dr
@@ -5403,6 +5403,7 @@ static const struct hc_driver xhci_hc_dr
.disable_usb3_lpm_timeout = xhci_disable_usb3_lpm_timeout,
.find_raw_port_number = xhci_find_raw_port_number,
.clear_tt_buffer_complete = xhci_clear_tt_buffer_complete,

View File

@ -24,7 +24,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -5414,6 +5414,8 @@ void xhci_init_driver(struct hc_driver *
@@ -5424,6 +5424,8 @@ void xhci_init_driver(struct hc_driver *
drv->check_bandwidth = over->check_bandwidth;
if (over->reset_bandwidth)
drv->reset_bandwidth = over->reset_bandwidth;

View File

@ -1,6 +1,6 @@
--- a/drivers/net/phy/phylink.c
+++ b/drivers/net/phy/phylink.c
@@ -1242,6 +1242,11 @@ int phylink_ethtool_ksettings_set(struct
@@ -1247,6 +1247,11 @@ int phylink_ethtool_ksettings_set(struct
/* If we have a PHY, configure the phy */
if (pl->phydev) {
@ -12,7 +12,7 @@
ret = phy_ethtool_ksettings_set(pl->phydev, &our_kset);
if (ret)
return ret;
@@ -1420,8 +1425,11 @@ int phylink_ethtool_get_eee(struct phyli
@@ -1425,8 +1430,11 @@ int phylink_ethtool_get_eee(struct phyli
ASSERT_RTNL();
@ -25,7 +25,7 @@
return ret;
}
@@ -1438,9 +1446,11 @@ int phylink_ethtool_set_eee(struct phyli
@@ -1443,9 +1451,11 @@ int phylink_ethtool_set_eee(struct phyli
ASSERT_RTNL();

View File

@ -10,8 +10,6 @@ Subject: [PATCH] net: phy: Add driver for Motorcomm YT8531(S) PHYs
include/linux/motorcomm_phy.h | 5 +
4 files changed, 350 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index 8dc4def..bcd46ca 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -112,6 +112,10 @@ static void stmmac_exit_fs(struct net_device *dev);
@ -117,8 +115,6 @@ index 8dc4def..bcd46ca 100644
ret = register_netdev(ndev);
if (ret) {
diff --git a/drivers/net/phy/motorcomm.c b/drivers/net/phy/motorcomm.c
index 17a4f6c..e37dfb9 100644
--- a/drivers/net/phy/motorcomm.c
+++ b/drivers/net/phy/motorcomm.c
@@ -26,6 +26,13 @@
@ -337,8 +333,6 @@ index 17a4f6c..e37dfb9 100644
{ }
};
diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
index 950277e..3a35040 100644
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -31,6 +31,7 @@
@ -450,8 +444,6 @@ index 950277e..3a35040 100644
/* If the phy_id is mostly Fs, there is no device there */
if ((phy_id & 0x1fffffff) == 0x1fffffff)
return ERR_PTR(-ENODEV);
diff --git a/include/linux/motorcomm_phy.h b/include/linux/motorcomm_phy.h
index facce6d..23cccca 100644
--- a/include/linux/motorcomm_phy.h
+++ b/include/linux/motorcomm_phy.h
@@ -14,6 +14,8 @@

View File

@ -8345,16 +8345,6 @@
ret_val = phy->ops.write_reg(hw,
(STANDARD_AN_REG_MASK <<
MMD_DEVADDR_SHIFT) |
@@ -734,8 +746,6 @@
if (ret_val)
return ret_val;
ret_val = igc_write_phy_reg_mdic(hw, offset, data);
- if (ret_val)
- return ret_val;
hw->phy.ops.release(hw);
} else {
ret_val = igc_write_xmdio_reg(hw, (u16)offset, dev_addr,
--- a/drivers/net/ethernet/intel/igc/igc_ptp.c 1970-01-01 08:00:00.000000000 +0800
+++ b/drivers/net/ethernet/intel/igc/igc_ptp.c 2022-03-10 14:33:17.227212778 +0800
@@ -0,0 +1,620 @@