kernel: bump 4.9 to 4.9.155
authorKoen Vandeputte <koen.vandeputte@ncentric.com>
Thu, 7 Feb 2019 10:32:51 +0000 (11:32 +0100)
committerKoen Vandeputte <koen.vandeputte@ncentric.com>
Fri, 8 Feb 2019 16:27:47 +0000 (17:27 +0100)
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: ar7
Runtime-tested on: none

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
include/kernel-version.mk
target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch
target/linux/generic/backport-4.9/100-arm-cns3xxx-fix-writing-to-wrong-PCI-registers-after.patch [deleted file]
target/linux/generic/hack-4.9/721-phy_packets.patch
target/linux/generic/hack-4.9/911-kobject_add_broadcast_uevent.patch
target/linux/generic/pending-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch

index c4127028c9d3d8f7273de10b9e7eb38af6a1e8b1..25e027c8cc0a964eaf597d0935e31fb70110fb2e 100644 (file)
@@ -3,12 +3,12 @@
 LINUX_RELEASE?=1
 
 LINUX_VERSION-3.18 = .134
 LINUX_RELEASE?=1
 
 LINUX_VERSION-3.18 = .134
-LINUX_VERSION-4.9 = .154
+LINUX_VERSION-4.9 = .155
 LINUX_VERSION-4.14 = .97
 LINUX_VERSION-4.19 = .19
 
 LINUX_KERNEL_HASH-3.18.134 = 36bdd04cab3b6c824a4b7e32ae02503f437e0916d5a4ff04c90aa22da2749c2f
 LINUX_VERSION-4.14 = .97
 LINUX_VERSION-4.19 = .19
 
 LINUX_KERNEL_HASH-3.18.134 = 36bdd04cab3b6c824a4b7e32ae02503f437e0916d5a4ff04c90aa22da2749c2f
-LINUX_KERNEL_HASH-4.9.154 = 5b314f1ac16f78e10acea0053f0c758e696b28f80272064e0a06bc69dc9d5696
+LINUX_KERNEL_HASH-4.9.155 = a52ac60be33c0fe312d99361f8e30211599956e958ba415d93194c6c9d073c9d
 LINUX_KERNEL_HASH-4.14.97 = 8dd2c831ddabfc6241ddca946e600376785fd6f225a24655bc36a0c6b4e945f4
 LINUX_KERNEL_HASH-4.19.19 = 99afcaf670479d696eb039e8e0a074988a44d5bd159a9cda5bff214e824669bd
 
 LINUX_KERNEL_HASH-4.14.97 = 8dd2c831ddabfc6241ddca946e600376785fd6f225a24655bc36a0c6b4e945f4
 LINUX_KERNEL_HASH-4.19.19 = 99afcaf670479d696eb039e8e0a074988a44d5bd159a9cda5bff214e824669bd
 
index cd9c8e3a33e458a35aba2b036717437a4b84c3c4..20e7ae06541335ef1095d1fd4ec883a422aba999 100644 (file)
@@ -657,7 +657,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                gfar_write(&regs->rstat, gfargrp->rstat);
 --- a/drivers/net/ethernet/freescale/ucc_geth.c
 +++ b/drivers/net/ethernet/freescale/ucc_geth.c
                gfar_write(&regs->rstat, gfargrp->rstat);
 --- a/drivers/net/ethernet/freescale/ucc_geth.c
 +++ b/drivers/net/ethernet/freescale/ucc_geth.c
-@@ -3301,7 +3301,7 @@ static int ucc_geth_poll(struct napi_str
+@@ -3303,7 +3303,7 @@ static int ucc_geth_poll(struct napi_str
                howmany += ucc_geth_rx(ugeth, i, budget - howmany);
  
        if (howmany < budget) {
                howmany += ucc_geth_rx(ugeth, i, budget - howmany);
  
        if (howmany < budget) {
diff --git a/target/linux/generic/backport-4.9/100-arm-cns3xxx-fix-writing-to-wrong-PCI-registers-after.patch b/target/linux/generic/backport-4.9/100-arm-cns3xxx-fix-writing-to-wrong-PCI-registers-after.patch
deleted file mode 100644 (file)
index faeb3e4..0000000
+++ /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,
index b25fdec47a4f54e90d5bbbd7184912e9fa10ec6c..9bc5b01776a20874b0811c60b0d8c9a065295a14 100644 (file)
@@ -15,23 +15,23 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -1398,6 +1398,7 @@ enum netdev_priv_flags {
-       IFF_RXFH_CONFIGURED             = 1<<25,
+@@ -1400,6 +1400,7 @@ enum netdev_priv_flags {
        IFF_PHONY_HEADROOM              = 1<<26,
        IFF_MACSEC                      = 1<<27,
        IFF_PHONY_HEADROOM              = 1<<26,
        IFF_MACSEC                      = 1<<27,
-+      IFF_NO_IP_ALIGN                 = 1<<28,
+       IFF_L3MDEV_RX_HANDLER           = 1<<28,
++      IFF_NO_IP_ALIGN                 = 1<<29,
  };
  
  #define IFF_802_1Q_VLAN                       IFF_802_1Q_VLAN
  };
  
  #define IFF_802_1Q_VLAN                       IFF_802_1Q_VLAN
-@@ -1427,6 +1428,7 @@ enum netdev_priv_flags {
- #define IFF_TEAM                      IFF_TEAM
+@@ -1430,6 +1431,7 @@ enum netdev_priv_flags {
  #define IFF_RXFH_CONFIGURED           IFF_RXFH_CONFIGURED
  #define IFF_MACSEC                    IFF_MACSEC
  #define IFF_RXFH_CONFIGURED           IFF_RXFH_CONFIGURED
  #define IFF_MACSEC                    IFF_MACSEC
+ #define IFF_L3MDEV_RX_HANDLER         IFF_L3MDEV_RX_HANDLER
 +#define IFF_NO_IP_ALIGN                       IFF_NO_IP_ALIGN
  
  /**
   *    struct net_device - The DEVICE structure.
 +#define IFF_NO_IP_ALIGN                       IFF_NO_IP_ALIGN
  
  /**
   *    struct net_device - The DEVICE structure.
-@@ -1713,6 +1715,11 @@ struct net_device {
+@@ -1716,6 +1718,11 @@ struct net_device {
        const struct ndisc_ops *ndisc_ops;
  #endif
  
        const struct ndisc_ops *ndisc_ops;
  #endif
  
@@ -43,7 +43,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        const struct header_ops *header_ops;
  
        unsigned int            flags;
        const struct header_ops *header_ops;
  
        unsigned int            flags;
-@@ -1780,6 +1787,10 @@ struct net_device {
+@@ -1783,6 +1790,10 @@ struct net_device {
        struct mpls_dev __rcu   *mpls_ptr;
  #endif
  
        struct mpls_dev __rcu   *mpls_ptr;
  #endif
  
index 55ce1715675a39059b5fdd0e943c968a27ee218c..d827ace9e00842ccd3f77881448f36f72f3ffef3 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #ifdef CONFIG_UEVENT_HELPER
  /* path to the userspace helper executed on an event */
  extern char uevent_helper[];
  #ifdef CONFIG_UEVENT_HELPER
  /* path to the userspace helper executed on an event */
  extern char uevent_helper[];
-@@ -222,4 +224,7 @@ int add_uevent_var(struct kobj_uevent_en
+@@ -239,4 +241,7 @@ int add_uevent_var(struct kobj_uevent_en
  int kobject_action_type(const char *buf, size_t count,
                        enum kobject_action *type);
  
  int kobject_action_type(const char *buf, size_t count,
                        enum kobject_action *type);
  
index 037d2e138dbe30e963fbf0b2b8dacf08b61e983c..d113be643905dd1a21cbb9f04ff7539790173a25 100644 (file)
@@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -1749,6 +1749,8 @@ struct net_device {
+@@ -1752,6 +1752,8 @@ struct net_device {
        struct netdev_hw_addr_list      mc;
        struct netdev_hw_addr_list      dev_addrs;
  
        struct netdev_hw_addr_list      mc;
        struct netdev_hw_addr_list      dev_addrs;