kernel: bump 5.4 to 5.4.51
Remove upstreamed: * 350-MIPS-Add-missing-EHB-in-mtc0-mfc0-sequence-for-DSPen.patch Resolve conflicted: * 0024-MIPS-lantiq-revert-DSA-switch-driver-PMU-clock-chang.patch Refreshed all patches. Signed-off-by: CN_SZTL <cnsztl@project-openwrt.eu.org>
This commit is contained in:
@@ -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)))))))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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, },
|
||||
|
||||
@@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
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;
|
||||
|
||||
@@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- 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,
|
||||
};
|
||||
|
||||
|
||||
@@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
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);
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
From db4603e30effd74d4adb6bcdf73072b2c06fafcd Mon Sep 17 00:00:00 2001
|
||||
From: Hauke Mehrtens <hauke@hauke-m.de>
|
||||
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 <hauke@hauke-m.de>
|
||||
Cc: <stable@vger.kernel.org>
|
||||
---
|
||||
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;
|
||||
@@ -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 <linux/hrtimer.h>
|
||||
#include <linux/netfilter_ingress.h>
|
||||
#include <linux/crash_dump.h>
|
||||
@@ -1320,7 +1320,7 @@
|
||||
#include <linux/sctp.h>
|
||||
#include <net/udp_tunnel.h>
|
||||
#include <linux/net_namespace.h>
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -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 <nbd@nbd.name>
|
||||
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 <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,
|
||||
@@ -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 <nbd@nbd.name>
|
||||
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 <nbd@nbd.name>
|
||||
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;
|
||||
|
||||
@@ -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) },
|
||||
|
||||
@@ -34,10 +34,9 @@ Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
|
||||
+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)) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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 ++ */
|
||||
|
||||
@@ -30,8 +30,8 @@ Signed-off-by: Mathias Kresin <dev@kresin.me>
|
||||
+ 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 <dev@kresin.me>
|
||||
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);
|
||||
|
||||
@@ -14,17 +14,17 @@ Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
|
||||
|
||||
--- 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);
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
|
||||
*/
|
||||
--- 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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user