diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 7b50a5beca..1aa025f576 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -9,12 +9,12 @@ endif LINUX_VERSION-4.9 = .229 LINUX_VERSION-4.14 = .187 LINUX_VERSION-4.19 = .131 -LINUX_VERSION-5.4 = .50 +LINUX_VERSION-5.4 = .51 LINUX_KERNEL_HASH-4.9.229 = 3256c2835fd95a1a739603e78b02d363eac2ce73a39fa19b13b32da4fc370fdc LINUX_KERNEL_HASH-4.14.187 = 5b223475eaeea196aa7e127d3f253bca5c35d8afdc72ca75230ce1ecdd1454bd LINUX_KERNEL_HASH-4.19.131 = 19dfb9f6cc4ba30104b65dcce7d78240a4ae188cb366747d5f8eae35e98964ba -LINUX_KERNEL_HASH-5.4.50 = ad10f4c1e900f4e3eb4903b65dbcb4ca74250de63aa9fa7105b9b3c3f9a8a6e2 +LINUX_KERNEL_HASH-5.4.51 = 9e8bea8b4cd636726b7e495a3b467c8ffe96f8eddc159a45fe4a7e6e07a2069d remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch index 053b72023f..a5899cbce4 100644 --- a/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch @@ -682,7 +682,7 @@ struct fib6_info *fib6_info_alloc(gfp_t gfp_flags, bool with_fib6_nh) --- a/net/netfilter/nf_conntrack_proto_tcp.c +++ b/net/netfilter/nf_conntrack_proto_tcp.c -@@ -415,7 +415,7 @@ static void tcp_sack(const struct sk_buf +@@ -423,7 +423,7 @@ static void tcp_sack(const struct sk_buf /* Fast path for timestamp-only option */ if (length == TCPOLEN_TSTAMP_ALIGNED diff --git a/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch b/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch index eaa28a9778..ce7adcdf91 100644 --- a/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch +++ b/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -2869,6 +2869,37 @@ static struct board_info __initdata boar +@@ -2826,6 +2826,37 @@ static struct board_info __initdata boar }, }, }; @@ -38,7 +38,7 @@ #endif /* CONFIG_BCM63XX_CPU_63268 */ /* -@@ -2983,6 +3014,7 @@ static const struct board_info __initcon +@@ -2939,6 +2970,7 @@ static const struct board_info __initcon &board_VR3032u, &board_vw6339gu, &board_BSKYB_63168, @@ -46,7 +46,7 @@ #endif }; -@@ -3101,6 +3133,8 @@ static struct of_device_id const bcm963x +@@ -3056,6 +3088,8 @@ static struct of_device_id const bcm963x { .compatible = "comtrend,vg-8050", .data = &board_VG8050, }, { .compatible = "comtrend,vr-3032u", .data = &board_VR3032u, }, { .compatible = "inteno,vg50", .data = &board_vw6339gu, }, diff --git a/target/linux/generic/hack-5.4/661-use_fq_codel_by_default.patch b/target/linux/generic/hack-5.4/661-use_fq_codel_by_default.patch index c1a0320282..2328552c91 100644 --- a/target/linux/generic/hack-5.4/661-use_fq_codel_by_default.patch +++ b/target/linux/generic/hack-5.4/661-use_fq_codel_by_default.patch @@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau EXPORT_SYMBOL(default_qdisc_ops); /* Main transmission queue. */ -@@ -1042,12 +1042,12 @@ static void attach_one_default_qdisc(str +@@ -1043,12 +1043,12 @@ static void attach_one_default_qdisc(str void *_unused) { struct Qdisc *qdisc; diff --git a/target/linux/generic/hack-5.4/662-remove_pfifo_fast.patch b/target/linux/generic/hack-5.4/662-remove_pfifo_fast.patch index 7a1946cd03..4ac90f560f 100644 --- a/target/linux/generic/hack-5.4/662-remove_pfifo_fast.patch +++ b/target/linux/generic/hack-5.4/662-remove_pfifo_fast.patch @@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c -@@ -602,211 +602,6 @@ struct Qdisc_ops noqueue_qdisc_ops __rea +@@ -603,211 +603,6 @@ struct Qdisc_ops noqueue_qdisc_ops __rea .owner = THIS_MODULE, }; diff --git a/target/linux/generic/hack-5.4/721-phy_packets.patch b/target/linux/generic/hack-5.4/721-phy_packets.patch index eee267c57f..3d1a7970f6 100644 --- a/target/linux/generic/hack-5.4/721-phy_packets.patch +++ b/target/linux/generic/hack-5.4/721-phy_packets.patch @@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau help --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -3205,10 +3205,20 @@ static int xmit_one(struct sk_buff *skb, +@@ -3201,10 +3201,20 @@ static int xmit_one(struct sk_buff *skb, if (dev_nit_active(dev)) dev_queue_xmit_nit(skb, dev); diff --git a/target/linux/generic/hack-5.4/904-debloat_dma_buf.patch b/target/linux/generic/hack-5.4/904-debloat_dma_buf.patch index 4221e6a035..9c7c3c2c24 100644 --- a/target/linux/generic/hack-5.4/904-debloat_dma_buf.patch +++ b/target/linux/generic/hack-5.4/904-debloat_dma_buf.patch @@ -45,7 +45,7 @@ Signed-off-by: Felix Fietkau selftest.o \ --- a/drivers/dma-buf/dma-buf.c +++ b/drivers/dma-buf/dma-buf.c -@@ -1299,4 +1299,5 @@ static void __exit dma_buf_deinit(void) +@@ -1295,4 +1295,5 @@ static void __exit dma_buf_deinit(void) dma_buf_uninit_debugfs(); kern_unmount(dma_buf_mnt); } diff --git a/target/linux/generic/hack-5.4/952-net-conntrack-events-support-multiple-registrant.patch b/target/linux/generic/hack-5.4/952-net-conntrack-events-support-multiple-registrant.patch index c4b6b03262..3a5724b470 100644 --- a/target/linux/generic/hack-5.4/952-net-conntrack-events-support-multiple-registrant.patch +++ b/target/linux/generic/hack-5.4/952-net-conntrack-events-support-multiple-registrant.patch @@ -93,7 +93,7 @@ depends on NETFILTER_ADVANCED --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c -@@ -2523,6 +2523,9 @@ int nf_conntrack_init_net(struct net *ne +@@ -2589,6 +2589,9 @@ int nf_conntrack_init_net(struct net *ne nf_conntrack_helper_pernet_init(net); nf_conntrack_proto_pernet_init(net); diff --git a/target/linux/generic/hack-5.4/953-net-patch-linux-kernel-to-support-shortcut-fe.patch b/target/linux/generic/hack-5.4/953-net-patch-linux-kernel-to-support-shortcut-fe.patch index 6329f25355..74b2959a2f 100644 --- a/target/linux/generic/hack-5.4/953-net-patch-linux-kernel-to-support-shortcut-fe.patch +++ b/target/linux/generic/hack-5.4/953-net-patch-linux-kernel-to-support-shortcut-fe.patch @@ -38,7 +38,7 @@ #endif --- a/net/bridge/br_if.c +++ b/net/bridge/br_if.c -@@ -746,6 +746,28 @@ void br_port_flags_change(struct net_bridge_port *p, unsigned long mask) +@@ -746,6 +746,28 @@ void br_port_flags_change(struct net_bri br_recalculate_neigh_suppress_enabled(br); } @@ -69,7 +69,7 @@ struct net_bridge_port *p; --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -3202,9 +3202,17 @@ static int xmit_one(struct sk_buff *skb, struct net_device *dev, +@@ -3198,9 +3198,17 @@ static int xmit_one(struct sk_buff *skb, if (!list_empty(&ptype_all) || !list_empty(&dev->ptype_all)) #endif @@ -88,7 +88,7 @@ #ifdef CONFIG_ETHERNET_PACKET_MANGLE if (!dev->eth_mangle_tx || (skb = dev->eth_mangle_tx(dev, skb)) != NULL) -@@ -4696,6 +4704,11 @@ void netdev_rx_handler_unregister(struct net_device *dev) +@@ -4694,6 +4702,11 @@ void netdev_rx_handler_unregister(struct } EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister); @@ -100,7 +100,7 @@ /* * Limit the use of PFMEMALLOC reserves to those protocols that implement * the special handling of PFMEMALLOC skbs. -@@ -4746,6 +4759,10 @@ static int __netif_receive_skb_core(struct sk_buff **pskb, bool pfmemalloc, +@@ -4744,6 +4757,10 @@ static int __netif_receive_skb_core(stru int ret = NET_RX_DROP; __be16 type; @@ -111,7 +111,7 @@ net_timestamp_check(!netdev_tstamp_prequeue, skb); trace_netif_receive_skb(skb); -@@ -4785,6 +4802,16 @@ another_round: +@@ -4783,6 +4800,16 @@ another_round: goto out; } @@ -161,7 +161,7 @@ static int nf_ct_tcp_loose __read_mostly = 1; --- a/net/netfilter/nf_conntrack_ecache.c +++ b/net/netfilter/nf_conntrack_ecache.c -@@ -153,13 +156,17 @@ int nf_conntrack_eventmask_report(unsign +@@ -153,13 +153,17 @@ int nf_conntrack_eventmask_report(unsign { int ret = 0; struct net *net = nf_ct_net(ct); @@ -179,7 +179,7 @@ e = nf_ct_ecache_find(ct); if (!e) -@@ -181,7 +188,12 @@ int nf_conntrack_eventmask_report(unsign +@@ -177,7 +181,12 @@ int nf_conntrack_eventmask_report(unsign if (!((eventmask | missed) & e->ctmask)) goto out_unlock; @@ -192,7 +192,7 @@ if (unlikely(ret < 0 || missed)) { spin_lock_bh(&ct->lock); if (ret < 0) { -@@ -261,15 +273,19 @@ void nf_ct_deliver_cached_events(struct +@@ -252,15 +261,19 @@ void nf_ct_deliver_cached_events(struct { struct net *net = nf_ct_net(ct); unsigned long events, missed; @@ -212,7 +212,7 @@ e = nf_ct_ecache_find(ct); if (e == NULL) -@@ -296,7 +312,13 @@ void nf_ct_deliver_cached_events(struct +@@ -283,7 +296,13 @@ void nf_ct_deliver_cached_events(struct item.portid = 0; item.report = 0; diff --git a/target/linux/generic/hack-5.4/998-add-ndo-do-ioctl.patch b/target/linux/generic/hack-5.4/998-add-ndo-do-ioctl.patch index 9cbfc6a1d3..f9b7a380f2 100644 --- a/target/linux/generic/hack-5.4/998-add-ndo-do-ioctl.patch +++ b/target/linux/generic/hack-5.4/998-add-ndo-do-ioctl.patch @@ -1,8 +1,6 @@ -diff --git a/net/wireless/wext-core.c b/net/wireless/wext-core.c -index 6cdb0544..7d1e09e3 100644 --- a/net/wireless/wext-core.c +++ b/net/wireless/wext-core.c -@@ -956,6 +956,9 @@ static int wireless_process_ioctl(struct net *net, struct iwreq *iwr, +@@ -955,6 +955,9 @@ static int wireless_process_ioctl(struct else if (private) return private(dev, iwr, cmd, info, handler); } @@ -10,4 +8,5 @@ index 6cdb0544..7d1e09e3 100644 + if (dev->netdev_ops->ndo_do_ioctl) + return dev->netdev_ops->ndo_do_ioctl(dev, (struct ifreq *) iwr, cmd); return -EOPNOTSUPP; - } \ No newline at end of file + } + diff --git a/target/linux/generic/pending-5.4/350-MIPS-Add-missing-EHB-in-mtc0-mfc0-sequence-for-DSPen.patch b/target/linux/generic/pending-5.4/350-MIPS-Add-missing-EHB-in-mtc0-mfc0-sequence-for-DSPen.patch deleted file mode 100644 index 063ec0e9fb..0000000000 --- a/target/linux/generic/pending-5.4/350-MIPS-Add-missing-EHB-in-mtc0-mfc0-sequence-for-DSPen.patch +++ /dev/null @@ -1,61 +0,0 @@ -From db4603e30effd74d4adb6bcdf73072b2c06fafcd Mon Sep 17 00:00:00 2001 -From: Hauke Mehrtens -Date: Fri, 3 Jul 2020 00:07:15 +0200 -Subject: [PATCH] MIPS: Add missing EHB in mtc0 -> mfc0 sequence for DSPen - -This resolves the hazard between the mtc0 in the change_c0_status() and -the mfc0 in configure_exception_vector(). Without resolving this hazard -configure_exception_vector() could read an old value and would restore -this old value again. This would revert the changes change_c0_status() -did. I checked this by printing out the read_c0_status() at the end of -per_cpu_trap_init() and the ST0_MX is not set without this patch. - -The hazard is documented in the MIPS Architecture Reference Manual Vol. -III: MIPS32/microMIPS32 Privileged Resource Architecture (MD00088), rev -6.03 table 8.1 which includes: - - Producer | Consumer | Hazard - ----------|----------|---------------------------- - mtc0 | mfc0 | any coprocessor 0 register - -I saw this hazard on an Atheros AR9344 rev 2 SoC with a MIPS 74Kc CPU. -There the change_c0_status() function would activate the DSPen by -setting ST0_MX in the c0_status register. This was reverted and then the -system got a DSP exception when the DSP registers were saved in -save_dsp() in the first process switch. The crash looks like this: - -[ 0.089999] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear) -[ 0.097796] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear) -[ 0.107070] Kernel panic - not syncing: Unexpected DSP exception -[ 0.113470] Rebooting in 1 seconds.. - -We saw this problem in OpenWrt only on the MIPS 74Kc based Atheros SoCs, -not on the 24Kc based SoCs. We only saw it with kernel 5.4 not with -kernel 4.19, in addition we had to use GCC 8.4 or 9.X, with GCC 8.3 it -did not happen. - -In the kernel I bisected this problem to commit 9012d011660e ("compiler: -allow all arches to enable CONFIG_OPTIMIZE_INLINING"), but when this was -reverted it also happened after commit 172dcd935c34b ("MIPS: Always -allocate exception vector for MIPSr2+"). - -Commit 0b24cae4d535 ("MIPS: Add missing EHB in mtc0 -> mfc0 sequence.") -does similar changes to a different file. I am not sure if there are -more places affected by this problem. - -Signed-off-by: Hauke Mehrtens -Cc: ---- - arch/mips/kernel/traps.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/arch/mips/kernel/traps.c -+++ b/arch/mips/kernel/traps.c -@@ -2126,6 +2126,7 @@ static void configure_status(void) - - change_c0_status(ST0_CU|ST0_MX|ST0_RE|ST0_FR|ST0_BEV|ST0_TS|ST0_KX|ST0_SX|ST0_UX, - status_set); -+ back_to_back_c0_hazard(); - } - - unsigned int hwrena; diff --git a/target/linux/generic/pending-5.4/601-add-kernel-imq-support.patch b/target/linux/generic/pending-5.4/601-add-kernel-imq-support.patch index 8ee5a81a49..f4cf1ef2e9 100644 --- a/target/linux/generic/pending-5.4/601-add-kernel-imq-support.patch +++ b/target/linux/generic/pending-5.4/601-add-kernel-imq-support.patch @@ -1282,7 +1282,7 @@ if (qdisc_run_begin(q)) { --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h -@@ -795,6 +795,13 @@ static inline int qdisc_enqueue(struct s +@@ -796,6 +796,13 @@ static inline int qdisc_enqueue(struct s return sch->enqueue(skb, sch, to_free); } @@ -1310,7 +1310,7 @@ * number or errno values. Not nice, but better than additional function --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -137,6 +137,9 @@ +@@ -138,6 +138,9 @@ #include #include #include @@ -1320,7 +1320,7 @@ #include #include #include -@@ -3192,6 +3195,13 @@ static int xmit_one(struct sk_buff *skb, +@@ -3188,6 +3191,13 @@ static int xmit_one(struct sk_buff *skb, unsigned int len; int rc; @@ -1334,7 +1334,7 @@ if (dev_nit_active(dev)) dev_queue_xmit_nit(skb, dev); -@@ -3231,6 +3241,8 @@ out: +@@ -3227,6 +3237,8 @@ out: return skb; } diff --git a/target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index 449b2c89cc..cb40f09b10 100644 --- a/target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau __u16 tc_index; /* traffic control index */ --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -5473,6 +5473,9 @@ static enum gro_result dev_gro_receive(s +@@ -5481,6 +5481,9 @@ static enum gro_result dev_gro_receive(s int same_flow; int grow; @@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau if (netif_elide_gro(skb->dev)) goto normal; -@@ -7266,6 +7269,48 @@ static void __netdev_adjacent_dev_unlink +@@ -7274,6 +7277,48 @@ static void __netdev_adjacent_dev_unlink &upper_dev->adj_list.lower); } @@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau static int __netdev_upper_dev_link(struct net_device *dev, struct net_device *upper_dev, bool master, void *upper_priv, void *upper_info, -@@ -7316,6 +7361,7 @@ static int __netdev_upper_dev_link(struc +@@ -7324,6 +7369,7 @@ static int __netdev_upper_dev_link(struc if (ret) return ret; @@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); ret = notifier_to_errno(ret); -@@ -7409,6 +7455,7 @@ void netdev_upper_dev_unlink(struct net_ +@@ -7417,6 +7463,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 call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); -@@ -8139,6 +8186,7 @@ int dev_set_mac_address(struct net_devic +@@ -8147,6 +8194,7 @@ int dev_set_mac_address(struct net_devic if (err) return err; dev->addr_assign_type = NET_ADDR_SET; diff --git a/target/linux/ipq40xx/patches-5.4/305-spi-nor-add-en25qh16.patch b/target/linux/ipq40xx/patches-5.4/305-spi-nor-add-en25qh16.patch index 40eb3814ad..9ad103d79a 100644 --- a/target/linux/ipq40xx/patches-5.4/305-spi-nor-add-en25qh16.patch +++ b/target/linux/ipq40xx/patches-5.4/305-spi-nor-add-en25qh16.patch @@ -1,11 +1,11 @@ ---- a/drivers/mtd/spi-nor/spi-nor.c -+++ b/drivers/mtd/spi-nor/spi-nor.c -@@ -2179,6 +2179,8 @@ static const struct flash_info spi_nor_i - { "en25q64", INFO(0x1c3017, 0, 64 * 1024, 128, SECT_4K) }, - { "en25q80a", INFO(0x1c3014, 0, 64 * 1024, 16, - SECT_4K | SPI_NOR_DUAL_READ) }, -+ { "en25qh16", INFO(0x1c7015, 0, 64 * 1024, 32, -+ SECT_4K | SPI_NOR_DUAL_READ) }, - { "en25qh32", INFO(0x1c7016, 0, 64 * 1024, 64, 0) }, - { "en25qh64", INFO(0x1c7017, 0, 64 * 1024, 128, - SECT_4K | SPI_NOR_DUAL_READ) }, +--- a/drivers/mtd/spi-nor/spi-nor.c ++++ b/drivers/mtd/spi-nor/spi-nor.c +@@ -2233,6 +2233,8 @@ static const struct flash_info spi_nor_i + { "en25q128", INFO(0x1c3018, 0, 64 * 1024, 256, SECT_4K) }, + { "en25q80a", INFO(0x1c3014, 0, 64 * 1024, 16, + SECT_4K | SPI_NOR_DUAL_READ) }, ++ { "en25qh16", INFO(0x1c7015, 0, 64 * 1024, 32, ++ SECT_4K | SPI_NOR_DUAL_READ) }, + { "en25qh32", INFO(0x1c7016, 0, 64 * 1024, 64, 0) }, + { "en25qh64", INFO(0x1c7017, 0, 64 * 1024, 128, + SECT_4K | SPI_NOR_DUAL_READ) }, diff --git a/target/linux/ipq40xx/patches-5.4/710-net-add-qualcomm-essedma-ethernet-driver.patch b/target/linux/ipq40xx/patches-5.4/710-net-add-qualcomm-essedma-ethernet-driver.patch index 87037eb3a8..3a54e472c9 100644 --- a/target/linux/ipq40xx/patches-5.4/710-net-add-qualcomm-essedma-ethernet-driver.patch +++ b/target/linux/ipq40xx/patches-5.4/710-net-add-qualcomm-essedma-ethernet-driver.patch @@ -34,10 +34,9 @@ Signed-off-by: Christian Lamparter +obj-$(CONFIG_ESSEDMA) += essedma/ obj-$(CONFIG_RMNET) += rmnet/ - --- a/drivers/net/ethernet/qualcomm/essedma/edma.c +++ b/drivers/net/ethernet/qualcomm/essedma/edma.c -@@ -1493,7 +1493,7 @@ +@@ -1499,7 +1499,7 @@ int edma_rx_flow_steer(struct net_device int res; if (skb->protocol == htons(ETH_P_IPV6)) { diff --git a/target/linux/ipq40xx/patches-5.4/715-essedma-refine-txq-to-be-adaptive-of-cpus-and-netdev.patch b/target/linux/ipq40xx/patches-5.4/715-essedma-refine-txq-to-be-adaptive-of-cpus-and-netdev.patch index 8aa1de0aa3..074987a677 100644 --- a/target/linux/ipq40xx/patches-5.4/715-essedma-refine-txq-to-be-adaptive-of-cpus-and-netdev.patch +++ b/target/linux/ipq40xx/patches-5.4/715-essedma-refine-txq-to-be-adaptive-of-cpus-and-netdev.patch @@ -156,7 +156,7 @@ if (edma_fill_netdev(edma_cinfo, k, i, j)) { pr_err("Netdev overflow Error\n"); goto err_register; -@@ -1109,9 +1114,12 @@ static int edma_axi_probe(struct platfor +@@ -1106,9 +1111,12 @@ static int edma_axi_probe(struct platfor /* populate per_core_info, do a napi_Add, request 16 TX irqs, * 8 RX irqs, do a napi enable */ @@ -170,7 +170,7 @@ edma_cinfo->edma_percpu_info[i].napi.state = 0; netif_napi_add(edma_netdev[0], -@@ -1131,7 +1139,7 @@ static int edma_axi_probe(struct platfor +@@ -1128,7 +1136,7 @@ static int edma_axi_probe(struct platfor /* Request irq per core */ for (j = edma_cinfo->edma_percpu_info[i].tx_start; @@ -179,7 +179,7 @@ sprintf(&edma_tx_irq[j][0], "edma_eth_tx%d", j); err = request_irq(edma_cinfo->tx_irq[j], edma_interrupt, -@@ -1255,7 +1263,7 @@ err_configure: +@@ -1252,7 +1260,7 @@ err_configure: #endif err_rmap_add_fail: edma_free_irqs(adapter[0]); @@ -188,7 +188,7 @@ napi_disable(&edma_cinfo->edma_percpu_info[i].napi); err_reset: err_unregister_sysctl_tbl: -@@ -1303,7 +1311,7 @@ static int edma_axi_remove(struct platfo +@@ -1300,7 +1308,7 @@ static int edma_axi_remove(struct platfo unregister_netdev(edma_netdev[i]); edma_stop_rx_tx(hw); diff --git a/target/linux/ipq40xx/patches-5.4/998-4g-add-u9300-driver.patch b/target/linux/ipq40xx/patches-5.4/998-4g-add-u9300-driver.patch index a7a0f781a2..ec2a697bdd 100644 --- a/target/linux/ipq40xx/patches-5.4/998-4g-add-u9300-driver.patch +++ b/target/linux/ipq40xx/patches-5.4/998-4g-add-u9300-driver.patch @@ -1,6 +1,6 @@ --- a/drivers/net/usb/qmi_wwan.c +++ b/drivers/net/usb/qmi_wwan.c -@@ -1366,6 +1366,7 @@ static const struct usb_device_id produc +@@ -1368,6 +1368,7 @@ static const struct usb_device_id produc {QMI_FIXED_INTF(0x03f0, 0x9d1d, 1)}, /* HP lt4120 Snapdragon X5 LTE */ {QMI_FIXED_INTF(0x22de, 0x9061, 3)}, /* WeTelecom WPD-600N */ {QMI_QUIRK_SET_DTR(0x1e0e, 0x9001, 5)}, /* SIMCom 7100E, 7230E, 7600E ++ */ diff --git a/target/linux/lantiq/patches-5.4/0024-MIPS-lantiq-revert-DSA-switch-driver-PMU-clock-chang.patch b/target/linux/lantiq/patches-5.4/0024-MIPS-lantiq-revert-DSA-switch-driver-PMU-clock-chang.patch index a364d6d67b..9b326c50d1 100644 --- a/target/linux/lantiq/patches-5.4/0024-MIPS-lantiq-revert-DSA-switch-driver-PMU-clock-chang.patch +++ b/target/linux/lantiq/patches-5.4/0024-MIPS-lantiq-revert-DSA-switch-driver-PMU-clock-chang.patch @@ -30,8 +30,8 @@ Signed-off-by: Mathias Kresin + clkdev_add_pmu("1e108000.eth", NULL, 0, 0, PMU_SWITCH | PMU_PPE_DP | PMU_PPE_TC); clkdev_add_pmu("1da00000.usif", "NULL", 1, 0, PMU_USIF); -- clkdev_add_pmu("1e108000.gswip", "gphy0", 0, 0, PMU_GPHY); -- clkdev_add_pmu("1e108000.gswip", "gphy1", 0, 0, PMU_GPHY); +- clkdev_add_pmu("1e108000.switch", "gphy0", 0, 0, PMU_GPHY); +- clkdev_add_pmu("1e108000.switch", "gphy1", 0, 0, PMU_GPHY); + clkdev_add_pmu("1f203020.gphy", NULL, 1, 0, PMU_GPHY); + clkdev_add_pmu("1f203068.gphy", NULL, 1, 0, PMU_GPHY); clkdev_add_pmu("1e103100.deu", NULL, 1, 0, PMU_DEU); @@ -46,8 +46,8 @@ Signed-off-by: Mathias Kresin PMU_SWITCH | PMU_PPE_DPLUS | PMU_PPE_DPLUM | PMU_PPE_EMA | PMU_PPE_TC | PMU_PPE_SLL01 | PMU_PPE_QSB | PMU_PPE_TOP); -- clkdev_add_pmu("1e108000.gswip", "gphy0", 0, 0, PMU_GPHY); -- clkdev_add_pmu("1e108000.gswip", "gphy1", 0, 0, PMU_GPHY); +- clkdev_add_pmu("1e108000.switch", "gphy0", 0, 0, PMU_GPHY); +- clkdev_add_pmu("1e108000.switch", "gphy1", 0, 0, PMU_GPHY); + clkdev_add_pmu("1f203020.gphy", NULL, 0, 0, PMU_GPHY); + clkdev_add_pmu("1f203068.gphy", NULL, 0, 0, PMU_GPHY); clkdev_add_pmu("1e103000.sdio", NULL, 1, 0, PMU_SDIO); diff --git a/target/linux/layerscape/patches-5.4/303-core-0001-net-readd-skb_recycle.patch b/target/linux/layerscape/patches-5.4/303-core-0001-net-readd-skb_recycle.patch index cd52f66084..5907774bd1 100644 --- a/target/linux/layerscape/patches-5.4/303-core-0001-net-readd-skb_recycle.patch +++ b/target/linux/layerscape/patches-5.4/303-core-0001-net-readd-skb_recycle.patch @@ -14,17 +14,17 @@ Signed-off-by: Madalin Bucur --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -1025,6 +1025,7 @@ void skb_dump(const char *level, const s +@@ -1041,6 +1041,7 @@ void skb_dump(const char *level, const s void skb_tx_error(struct sk_buff *skb); void consume_skb(struct sk_buff *skb); void __consume_stateless_skb(struct sk_buff *skb); +void skb_recycle(struct sk_buff *skb); void __kfree_skb(struct sk_buff *skb); - extern struct kmem_cache *skbuff_head_cache; - + #if defined(CONFIG_IMQ) || defined(CONFIG_IMQ_MODULE) + int skb_save_cb(struct sk_buff *skb); --- a/net/core/skbuff.c +++ b/net/core/skbuff.c -@@ -936,6 +936,32 @@ void napi_consume_skb(struct sk_buff *sk +@@ -1008,6 +1008,32 @@ void napi_consume_skb(struct sk_buff *sk } EXPORT_SYMBOL(napi_consume_skb); diff --git a/target/linux/layerscape/patches-5.4/701-net-0029-sdk_dpaa-update-the-xmit-timestamp-to-avoid-watchdog.patch b/target/linux/layerscape/patches-5.4/701-net-0029-sdk_dpaa-update-the-xmit-timestamp-to-avoid-watchdog.patch index 7f925f8946..454650b700 100644 --- a/target/linux/layerscape/patches-5.4/701-net-0029-sdk_dpaa-update-the-xmit-timestamp-to-avoid-watchdog.patch +++ b/target/linux/layerscape/patches-5.4/701-net-0029-sdk_dpaa-update-the-xmit-timestamp-to-avoid-watchdog.patch @@ -59,7 +59,7 @@ Signed-off-by: Camelia Groza */ --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c -@@ -440,6 +440,13 @@ static void dev_watchdog(struct timer_li +@@ -448,6 +448,13 @@ static void dev_watchdog(struct timer_li txq->trans_timeout++; break; } diff --git a/target/linux/layerscape/patches-5.4/809-jailhouse-0001-ivshmem-net-virtual-network-device-for-Jailhouse.patch b/target/linux/layerscape/patches-5.4/809-jailhouse-0001-ivshmem-net-virtual-network-device-for-Jailhouse.patch index 617e937107..91d59df58e 100644 --- a/target/linux/layerscape/patches-5.4/809-jailhouse-0001-ivshmem-net-virtual-network-device-for-Jailhouse.patch +++ b/target/linux/layerscape/patches-5.4/809-jailhouse-0001-ivshmem-net-virtual-network-device-for-Jailhouse.patch @@ -15,7 +15,7 @@ Work in progress. --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig -@@ -528,4 +528,8 @@ config NET_FAILOVER +@@ -647,4 +647,8 @@ config NET_FAILOVER a VM with direct attached VF by failing over to the paravirtual datapath when the VF is unplugged. @@ -26,7 +26,7 @@ Work in progress. endif # NETDEVICES --- a/drivers/net/Makefile +++ b/drivers/net/Makefile -@@ -79,3 +79,5 @@ thunderbolt-net-y += thunderbolt.o +@@ -80,3 +80,5 @@ thunderbolt-net-y += thunderbolt.o obj-$(CONFIG_THUNDERBOLT_NET) += thunderbolt-net.o obj-$(CONFIG_NETDEVSIM) += netdevsim/ obj-$(CONFIG_NET_FAILOVER) += net_failover.o