aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic
diff options
context:
space:
mode:
authorKoen Vandeputte <koen.vandeputte@ncentric.com>2019-02-07 11:34:28 +0100
committerKoen Vandeputte <koen.vandeputte@ncentric.com>2019-02-08 17:27:47 +0100
commit9a3599de2ca15c7ffa1667a41c4579ef9898dae9 (patch)
treec0d15140478657a54b2d983dc9bed926209fd9d3 /target/linux/generic
parent89bf16ad503d73e4444a2a766526ba645f76134b (diff)
downloadupstream-9a3599de2ca15c7ffa1667a41c4579ef9898dae9.tar.gz
upstream-9a3599de2ca15c7ffa1667a41c4579ef9898dae9.tar.bz2
upstream-9a3599de2ca15c7ffa1667a41c4579ef9898dae9.zip
kernel: bump 4.19 to 4.19.20
Refreshed all patches. Remove upstreamed: - 100-arm-cns3xxx-fix-writing-to-wrong-PCI-registers-after.patch Altered patches: - 721-phy_packets.patch Compile-tested on: imx6 Runtime-tested on: imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Diffstat (limited to 'target/linux/generic')
-rw-r--r--target/linux/generic/backport-4.19/100-arm-cns3xxx-fix-writing-to-wrong-PCI-registers-after.patch74
-rw-r--r--target/linux/generic/hack-4.19/721-phy_packets.patch14
-rw-r--r--target/linux/generic/pending-4.19/680-NET-skip-GRO-for-foreign-MAC-addresses.patch2
3 files changed, 8 insertions, 82 deletions
diff --git a/target/linux/generic/backport-4.19/100-arm-cns3xxx-fix-writing-to-wrong-PCI-registers-after.patch b/target/linux/generic/backport-4.19/100-arm-cns3xxx-fix-writing-to-wrong-PCI-registers-after.patch
deleted file mode 100644
index faeb3e4170..0000000000
--- a/target/linux/generic/backport-4.19/100-arm-cns3xxx-fix-writing-to-wrong-PCI-registers-after.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 03556dab1cb02d85b50d7be3ee3a3bac001f5991 Mon Sep 17 00:00:00 2001
-From: Koen Vandeputte <koen.vandeputte@ncentric.com>
-Date: Tue, 18 Dec 2018 12:14:06 +0100
-Subject: [PATCH] arm: cns3xxx: fix writing to wrong PCI registers after
- alignment
-
-Originally, cns3xxx used it's own functions for mapping, reading and writing registers.
-
-Commit 802b7c06adc7 ("ARM: cns3xxx: Convert PCI to use generic config accessors")
-removed the internal PCI config write function in favor of the generic one:
-
-cns3xxx_pci_write_config() --> pci_generic_config_write()
-
-cns3xxx_pci_write_config() expected aligned addresses, being produced by cns3xxx_pci_map_bus()
-while the generic one pci_generic_config_write() actually expects the real address
-as both the function and hardware are capable of byte-aligned writes.
-
-This currently leads to pci_generic_config_write() writing
-to the wrong registers on some ocasions.
-
-First issue seen due to this:
-
-- driver ath9k gets loaded
-- The driver wants to write value 0xA8 to register PCI_LATENCY_TIMER, located at 0x0D
-- cns3xxx_pci_map_bus() aligns the address to 0x0C
-- pci_generic_config_write() effectively writes 0xA8 into register 0x0C (CACHE_LINE_SIZE)
-
-This seems to cause some slight instability when certain PCI devices are used.
-
-Another issue example caused by this this is the PCI bus numbering,
-where the primary bus is higher than the secondary, which is impossible.
-
-Before:
-
-00:00.0 PCI bridge: Cavium, Inc. Device 3400 (rev 01) (prog-if 00 [Normal decode])
- Flags: bus master, fast devsel, latency 0, IRQ 255
- Bus: primary=02, secondary=01, subordinate=ff, sec-latency=0
-
-After fix:
-
-00:00.0 PCI bridge: Cavium, Inc. Device 3400 (rev 01) (prog-if 00 [Normal decode])
- Flags: bus master, fast devsel, latency 0, IRQ 255
- Bus: primary=00, secondary=01, subordinate=02, sec-latency=0
-
-And very likely some more ..
-
-Fix all by omitting the alignment being done in the mapping function.
-
-Fixes: 802b7c06adc7 ("ARM: cns3xxx: Convert PCI to use generic config accessors")
-Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
-CC: Arnd Bergmann <arnd@arndb.de>
-CC: Bjorn Helgaas <bhelgaas@google.com>
-CC: Krzysztof Halasa <khalasa@piap.pl>
-CC: Olof Johansson <olof@lixom.net>
-CC: Robin Leblon <robin.leblon@ncentric.com>
-CC: Rob Herring <robh@kernel.org>
-CC: Russell King <linux@armlinux.org.uk>
-CC: Tim Harvey <tharvey@gateworks.com>
-CC: stable@vger.kernel.org # v4.0+
----
- arch/arm/mach-cns3xxx/pcie.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/arch/arm/mach-cns3xxx/pcie.c
-+++ b/arch/arm/mach-cns3xxx/pcie.c
-@@ -83,7 +83,7 @@ static void __iomem *cns3xxx_pci_map_bus
- } else /* remote PCI bus */
- base = cnspci->cfg1_regs + ((busno & 0xf) << 20);
-
-- return base + (where & 0xffc) + (devfn << 12);
-+ return base + where + (devfn << 12);
- }
-
- static int cns3xxx_pci_read_config(struct pci_bus *bus, unsigned int devfn,
diff --git a/target/linux/generic/hack-4.19/721-phy_packets.patch b/target/linux/generic/hack-4.19/721-phy_packets.patch
index 108aba121d..8267eadac8 100644
--- a/target/linux/generic/hack-4.19/721-phy_packets.patch
+++ b/target/linux/generic/hack-4.19/721-phy_packets.patch
@@ -15,23 +15,23 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -1510,6 +1510,7 @@ enum netdev_priv_flags {
- IFF_NO_RX_HANDLER = 1<<26,
+@@ -1512,6 +1512,7 @@ enum netdev_priv_flags {
IFF_FAILOVER = 1<<27,
IFF_FAILOVER_SLAVE = 1<<28,
-+ IFF_NO_IP_ALIGN = 1<<29,
+ IFF_L3MDEV_RX_HANDLER = 1<<29,
++ IFF_NO_IP_ALIGN = 1<<30,
};
#define IFF_802_1Q_VLAN IFF_802_1Q_VLAN
-@@ -1540,6 +1541,7 @@ enum netdev_priv_flags {
- #define IFF_NO_RX_HANDLER IFF_NO_RX_HANDLER
+@@ -1543,6 +1544,7 @@ enum netdev_priv_flags {
#define IFF_FAILOVER IFF_FAILOVER
#define IFF_FAILOVER_SLAVE IFF_FAILOVER_SLAVE
+ #define IFF_L3MDEV_RX_HANDLER IFF_L3MDEV_RX_HANDLER
+#define IFF_NO_IP_ALIGN IFF_NO_IP_ALIGN
/**
* struct net_device - The DEVICE structure.
-@@ -1838,6 +1840,11 @@ struct net_device {
+@@ -1841,6 +1843,11 @@ struct net_device {
const struct tlsdev_ops *tlsdev_ops;
#endif
@@ -43,7 +43,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
const struct header_ops *header_ops;
unsigned int flags;
-@@ -1913,6 +1920,10 @@ struct net_device {
+@@ -1916,6 +1923,10 @@ struct net_device {
struct mpls_dev __rcu *mpls_ptr;
#endif
diff --git a/target/linux/generic/pending-4.19/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-4.19/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
index 4bac6f7ef9..828c9554d4 100644
--- a/target/linux/generic/pending-4.19/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
+++ b/target/linux/generic/pending-4.19/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
@@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -1876,6 +1876,8 @@ struct net_device {
+@@ -1879,6 +1879,8 @@ struct net_device {
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;