Compile and run tested on lantiq/xrx200

Signed-off-by: Hauke Mehrtens <ha...@hauke-m.de>
---
 include/kernel-version.mk                     |   4 +-
 ...mware-loader-for-uPD720201-and-uPD72.patch |   6 +-
 .../910-unaligned_access_hacks.patch          |   4 +-
 ...antage-of-skb-hash-where-appropriate.patch |   2 +-
 ...atory-attach-detach-methods-for-sfp-.patch |   4 +-
 ...et-sfp-remove-sfp-bus-use-of-netdevs.patch |  12 +-
 ...ve-fwnode-parsing-into-sfp-bus-layer.patch |   2 +-
 ....5-net-sfp-rework-upstream-interface.patch |  12 +-
 ...fix-sfp_bus_put-kernel-documentation.patch |   2 +-
 ...et-sfp-add-support-for-module-quirks.patch | 111 ------------------
 ...sfp-add-some-quirks-for-GPON-modules.patch |  52 --------
 .../generic/hack-4.19/204-module_strip.patch  |   4 +-
 .../hack-4.19/221-module_exports.patch        |   6 +-
 .../hack-4.19/259-regmap_dynamic.patch        |   2 +-
 ...protocol-handling-in-the-presence-of.patch |   4 +-
 ...-EHB-in-mtc0-mfc0-sequence-for-DSPen.patch |  61 ----------
 .../810-pci_disable_common_quirks.patch       |   6 +-
 ...-mvebu-armada-38x-enable-libata-leds.patch |   2 +-
 18 files changed, 36 insertions(+), 260 deletions(-)
 delete mode 100644 
target/linux/generic/backport-4.19/742-v5.5-net-sfp-add-support-for-module-quirks.patch
 delete mode 100644 
target/linux/generic/backport-4.19/743-v5.5-net-sfp-add-some-quirks-for-GPON-modules.patch
 delete mode 100644 
target/linux/generic/pending-4.19/350-MIPS-Add-missing-EHB-in-mtc0-mfc0-sequence-for-DSPen.patch

diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index 8bfce3ecfeb7..a061efeb753f 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -7,11 +7,11 @@ ifdef CONFIG_TESTING_KERNEL
 endif
 
 LINUX_VERSION-4.14 = .187
-LINUX_VERSION-4.19 = .131
+LINUX_VERSION-4.19 = .138
 LINUX_VERSION-5.4 = .52
 
 LINUX_KERNEL_HASH-4.14.187 = 
5b223475eaeea196aa7e127d3f253bca5c35d8afdc72ca75230ce1ecdd1454bd
-LINUX_KERNEL_HASH-4.19.131 = 
19dfb9f6cc4ba30104b65dcce7d78240a4ae188cb366747d5f8eae35e98964ba
+LINUX_KERNEL_HASH-4.19.138 = 
d15c27d05f6c527269b75b30cc72972748e55720e7e00ad8abbaa4fe3b1d5e02
 LINUX_KERNEL_HASH-5.4.52 = 
037efa531120b1c20ff55e78cd3e17288b1804b3a57dc31de760837b3bea5d3a
 
 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
diff --git 
a/target/linux/apm821xx/patches-4.19/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch
 
b/target/linux/apm821xx/patches-4.19/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch
index f3bd671cf7a1..e5000c911fa8 100644
--- 
a/target/linux/apm821xx/patches-4.19/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch
+++ 
b/target/linux/apm821xx/patches-4.19/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch
@@ -44,7 +44,7 @@ Signed-off-by: Christian Lamparter <chunk...@googlemail.com>
  
  #include "xhci.h"
  #include "xhci-trace.h"
-@@ -265,6 +267,458 @@ static void xhci_pme_acpi_rtd3_enable(st
+@@ -268,6 +270,458 @@ static void xhci_pme_acpi_rtd3_enable(st
  static void xhci_pme_acpi_rtd3_enable(struct pci_dev *dev) { }
  #endif /* CONFIG_ACPI */
  
@@ -503,7 +503,7 @@ Signed-off-by: Christian Lamparter <chunk...@googlemail.com>
  /* called during probe() after chip reset completes */
  static int xhci_pci_setup(struct usb_hcd *hcd)
  {
-@@ -306,6 +760,22 @@ static int xhci_pci_probe(struct pci_dev
+@@ -309,6 +763,22 @@ static int xhci_pci_probe(struct pci_dev
        struct hc_driver *driver;
        struct usb_hcd *hcd;
  
@@ -526,7 +526,7 @@ Signed-off-by: Christian Lamparter <chunk...@googlemail.com>
        driver = (struct hc_driver *)id->driver_data;
  
        /* Prevent runtime suspending between USB-2 and USB-3 initialization */
-@@ -364,6 +834,16 @@ static void xhci_pci_remove(struct pci_d
+@@ -367,6 +837,16 @@ static void xhci_pci_remove(struct pci_d
  {
        struct xhci_hcd *xhci;
  
diff --git a/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch 
b/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch
index 61695ae55f37..fc77e6e42a87 100644
--- a/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch
+++ b/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch
@@ -578,7 +578,7 @@
  #include <net/if_inet6.h>
 --- a/include/net/inet_ecn.h
 +++ b/include/net/inet_ecn.h
-@@ -125,9 +125,9 @@ static inline int IP6_ECN_set_ce(struct
+@@ -126,9 +126,9 @@ static inline int IP6_ECN_set_ce(struct
        if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph)))
                return 0;
  
@@ -728,7 +728,7 @@
  EXPORT_SYMBOL(xfrm_parse_spi);
 --- a/net/ipv4/tcp_input.c
 +++ b/net/ipv4/tcp_input.c
-@@ -3906,14 +3906,16 @@ static bool tcp_parse_aligned_timestamp(
+@@ -3907,14 +3907,16 @@ static bool tcp_parse_aligned_timestamp(
  {
        const __be32 *ptr = (const __be32 *)(th + 1);
  
diff --git 
a/target/linux/generic/backport-4.19/395-v5.8-net-sch_cake-Take-advantage-of-skb-hash-where-appropriate.patch
 
b/target/linux/generic/backport-4.19/395-v5.8-net-sch_cake-Take-advantage-of-skb-hash-where-appropriate.patch
index 12962135d05e..a4981acdee02 100644
--- 
a/target/linux/generic/backport-4.19/395-v5.8-net-sch_cake-Take-advantage-of-skb-hash-where-appropriate.patch
+++ 
b/target/linux/generic/backport-4.19/395-v5.8-net-sch_cake-Take-advantage-of-skb-hash-where-appropriate.patch
@@ -67,7 +67,7 @@ Signed-off-by: Kevin Darbyshire-Bryant 
<l...@darbyshire-bryant.me.uk>
 +      bool rev = !skb->_nfct, upd = false;
 +      __be32 ip;
  
-       if (tc_skb_protocol(skb) != htons(ETH_P_IP))
+       if (skb_protocol(skb, true) != htons(ETH_P_IP))
 -              return;
 +              return false;
  
diff --git 
a/target/linux/generic/backport-4.19/711-v5.3-net-sfp-add-mandatory-attach-detach-methods-for-sfp-.patch
 
b/target/linux/generic/backport-4.19/711-v5.3-net-sfp-add-mandatory-attach-detach-methods-for-sfp-.patch
index 74dc39fa7f0e..0600da2fadd9 100644
--- 
a/target/linux/generic/backport-4.19/711-v5.3-net-sfp-add-mandatory-attach-detach-methods-for-sfp-.patch
+++ 
b/target/linux/generic/backport-4.19/711-v5.3-net-sfp-add-mandatory-attach-detach-methods-for-sfp-.patch
@@ -51,7 +51,7 @@ Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk>
        .link_down = phylink_sfp_link_down,
 --- a/drivers/net/phy/sfp-bus.c
 +++ b/drivers/net/phy/sfp-bus.c
-@@ -350,7 +350,7 @@ static int sfp_register_bus(struct sfp_b
+@@ -425,7 +425,7 @@ static int sfp_register_bus(struct sfp_b
        bus->socket_ops->attach(bus->sfp);
        if (bus->started)
                bus->socket_ops->start(bus->sfp);
@@ -60,7 +60,7 @@ Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk>
        bus->registered = true;
        return 0;
  }
-@@ -359,8 +359,8 @@ static void sfp_unregister_bus(struct sf
+@@ -434,8 +434,8 @@ static void sfp_unregister_bus(struct sf
  {
        const struct sfp_upstream_ops *ops = bus->upstream_ops;
  
diff --git 
a/target/linux/generic/backport-4.19/712-v5.3-net-sfp-remove-sfp-bus-use-of-netdevs.patch
 
b/target/linux/generic/backport-4.19/712-v5.3-net-sfp-remove-sfp-bus-use-of-netdevs.patch
index 8f0c37e0921d..e68cc381dc76 100644
--- 
a/target/linux/generic/backport-4.19/712-v5.3-net-sfp-remove-sfp-bus-use-of-netdevs.patch
+++ 
b/target/linux/generic/backport-4.19/712-v5.3-net-sfp-remove-sfp-bus-use-of-netdevs.patch
@@ -30,7 +30,7 @@ Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk>
  
 --- a/drivers/net/phy/sfp-bus.c
 +++ b/drivers/net/phy/sfp-bus.c
-@@ -23,7 +23,6 @@ struct sfp_bus {
+@@ -30,7 +30,6 @@ struct sfp_bus {
  
        const struct sfp_upstream_ops *upstream_ops;
        void *upstream;
@@ -38,7 +38,7 @@ Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk>
        struct phy_device *phydev;
  
        bool registered;
-@@ -442,13 +441,11 @@ static void sfp_upstream_clear(struct sf
+@@ -517,13 +516,11 @@ static void sfp_upstream_clear(struct sf
  {
        bus->upstream_ops = NULL;
        bus->upstream = NULL;
@@ -52,7 +52,7 @@ Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk>
   * @upstream: the upstream private data
   * @ops: the upstream's &struct sfp_upstream_ops
   *
-@@ -459,7 +456,7 @@ static void sfp_upstream_clear(struct sf
+@@ -534,7 +531,7 @@ static void sfp_upstream_clear(struct sf
   * On error, returns %NULL.
   */
  struct sfp_bus *sfp_register_upstream(struct fwnode_handle *fwnode,
@@ -61,7 +61,7 @@ Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk>
                                      const struct sfp_upstream_ops *ops)
  {
        struct sfp_bus *bus = sfp_bus_get(fwnode);
-@@ -469,7 +466,6 @@ struct sfp_bus *sfp_register_upstream(st
+@@ -544,7 +541,6 @@ struct sfp_bus *sfp_register_upstream(st
                rtnl_lock();
                bus->upstream_ops = ops;
                bus->upstream = upstream;
@@ -69,7 +69,7 @@ Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk>
  
                if (bus->sfp) {
                        ret = sfp_register_bus(bus);
-@@ -591,7 +587,7 @@ struct sfp_bus *sfp_register_socket(stru
+@@ -670,7 +666,7 @@ struct sfp_bus *sfp_register_socket(stru
                bus->sfp = sfp;
                bus->socket_ops = ops;
  
@@ -78,7 +78,7 @@ Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk>
                        ret = sfp_register_bus(bus);
                        if (ret)
                                sfp_socket_clear(bus);
-@@ -611,7 +607,7 @@ EXPORT_SYMBOL_GPL(sfp_register_socket);
+@@ -690,7 +686,7 @@ EXPORT_SYMBOL_GPL(sfp_register_socket);
  void sfp_unregister_socket(struct sfp_bus *bus)
  {
        rtnl_lock();
diff --git 
a/target/linux/generic/backport-4.19/716-v5.4-net-sfp-move-fwnode-parsing-into-sfp-bus-layer.patch
 
b/target/linux/generic/backport-4.19/716-v5.4-net-sfp-move-fwnode-parsing-into-sfp-bus-layer.patch
index 27ab78f3eebf..bc16e8f1c699 100644
--- 
a/target/linux/generic/backport-4.19/716-v5.4-net-sfp-move-fwnode-parsing-into-sfp-bus-layer.patch
+++ 
b/target/linux/generic/backport-4.19/716-v5.4-net-sfp-move-fwnode-parsing-into-sfp-bus-layer.patch
@@ -59,7 +59,7 @@ Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk>
  #include <linux/rtnetlink.h>
  #include <linux/slab.h>
  
-@@ -444,45 +445,63 @@ static void sfp_upstream_clear(struct sf
+@@ -519,45 +520,63 @@ static void sfp_upstream_clear(struct sf
  }
  
  /**
diff --git 
a/target/linux/generic/backport-4.19/717-v5.5-net-sfp-rework-upstream-interface.patch
 
b/target/linux/generic/backport-4.19/717-v5.5-net-sfp-rework-upstream-interface.patch
index f7dd187c162d..a901b15aafa0 100644
--- 
a/target/linux/generic/backport-4.19/717-v5.5-net-sfp-rework-upstream-interface.patch
+++ 
b/target/linux/generic/backport-4.19/717-v5.5-net-sfp-rework-upstream-interface.patch
@@ -53,7 +53,7 @@ Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk>
  
 --- a/drivers/net/phy/sfp-bus.c
 +++ b/drivers/net/phy/sfp-bus.c
-@@ -328,10 +328,19 @@ static void sfp_bus_release(struct kref
+@@ -403,10 +403,19 @@ static void sfp_bus_release(struct kref
        kfree(bus);
  }
  
@@ -75,7 +75,7 @@ Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk>
  
  static int sfp_register_bus(struct sfp_bus *bus)
  {
-@@ -347,11 +356,11 @@ static int sfp_register_bus(struct sfp_b
+@@ -422,11 +431,11 @@ static int sfp_register_bus(struct sfp_b
                                return ret;
                }
        }
@@ -88,7 +88,7 @@ Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk>
        return 0;
  }
  
-@@ -445,13 +454,12 @@ static void sfp_upstream_clear(struct sf
+@@ -520,13 +529,12 @@ static void sfp_upstream_clear(struct sf
  }
  
  /**
@@ -106,7 +106,7 @@ Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk>
   *
   * Returns: on success, a pointer to the sfp_bus structure,
   *        %NULL if no SFP is specified,
-@@ -461,9 +469,7 @@ static void sfp_upstream_clear(struct sf
+@@ -536,9 +544,7 @@ static void sfp_upstream_clear(struct sf
   *            %-ENOMEM if we failed to allocate the bus.
   *            an error from the upstream's connect_phy() method.
   */
@@ -117,7 +117,7 @@ Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk>
  {
        struct fwnode_reference_args ref;
        struct sfp_bus *bus;
-@@ -481,7 +487,39 @@ struct sfp_bus *sfp_register_upstream_no
+@@ -556,7 +562,39 @@ struct sfp_bus *sfp_register_upstream_no
        if (!bus)
                return ERR_PTR(-ENOMEM);
  
@@ -157,7 +157,7 @@ Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk>
        bus->upstream_ops = ops;
        bus->upstream = upstream;
  
-@@ -494,33 +532,33 @@ struct sfp_bus *sfp_register_upstream_no
+@@ -569,33 +607,33 @@ struct sfp_bus *sfp_register_upstream_no
        }
        rtnl_unlock();
  
diff --git 
a/target/linux/generic/backport-4.19/718-v5.5-net-sfp-fix-sfp_bus_put-kernel-documentation.patch
 
b/target/linux/generic/backport-4.19/718-v5.5-net-sfp-fix-sfp_bus_put-kernel-documentation.patch
index 59d2ce588c40..7bfff60f2f39 100644
--- 
a/target/linux/generic/backport-4.19/718-v5.5-net-sfp-fix-sfp_bus_put-kernel-documentation.patch
+++ 
b/target/linux/generic/backport-4.19/718-v5.5-net-sfp-fix-sfp_bus_put-kernel-documentation.patch
@@ -16,7 +16,7 @@ Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk>
 
 --- a/drivers/net/phy/sfp-bus.c
 +++ b/drivers/net/phy/sfp-bus.c
-@@ -330,7 +330,7 @@ static void sfp_bus_release(struct kref
+@@ -405,7 +405,7 @@ static void sfp_bus_release(struct kref
  
  /**
   * sfp_bus_put() - put a reference on the &struct sfp_bus
diff --git 
a/target/linux/generic/backport-4.19/742-v5.5-net-sfp-add-support-for-module-quirks.patch
 
b/target/linux/generic/backport-4.19/742-v5.5-net-sfp-add-support-for-module-quirks.patch
deleted file mode 100644
index 5068bd468c12..000000000000
--- 
a/target/linux/generic/backport-4.19/742-v5.5-net-sfp-add-support-for-module-quirks.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-From 8df5dd55cef48c0769379e04dbc085a899b106d4 Mon Sep 17 00:00:00 2001
-From: Russell King <rmk+ker...@armlinux.org.uk>
-Date: Fri, 8 Mar 2019 14:02:25 +0000
-Subject: [PATCH 640/660] net: sfp: add support for module quirks
-
-Add support for applying module quirks to the list of supported
-ethtool link modes.
-
-Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk>
----
- drivers/net/phy/sfp-bus.c | 54 +++++++++++++++++++++++++++++++++++++++
- 1 file changed, 54 insertions(+)
-
---- a/drivers/net/phy/sfp-bus.c
-+++ b/drivers/net/phy/sfp-bus.c
-@@ -9,6 +9,12 @@
- 
- #include "sfp.h"
- 
-+struct sfp_quirk {
-+      const char *vendor;
-+      const char *part;
-+      void (*modes)(const struct sfp_eeprom_id *id, unsigned long *modes);
-+};
-+
- /**
-  * struct sfp_bus - internal representation of a sfp bus
-  */
-@@ -21,6 +27,7 @@ struct sfp_bus {
-       const struct sfp_socket_ops *socket_ops;
-       struct device *sfp_dev;
-       struct sfp *sfp;
-+      const struct sfp_quirk *sfp_quirk;
- 
-       const struct sfp_upstream_ops *upstream_ops;
-       void *upstream;
-@@ -30,6 +37,46 @@ struct sfp_bus {
-       bool started;
- };
- 
-+static const struct sfp_quirk sfp_quirks[] = {
-+};
-+
-+static size_t sfp_strlen(const char *str, size_t maxlen)
-+{
-+      size_t size, i;
-+
-+      /* Trailing characters should be filled with space chars */
-+      for (i = 0, size = 0; i < maxlen; i++)
-+              if (str[i] != ' ')
-+                      size = i + 1;
-+
-+      return size;
-+}
-+
-+static bool sfp_match(const char *qs, const char *str, size_t len)
-+{
-+      if (!qs)
-+              return true;
-+      if (strlen(qs) != len)
-+              return false;
-+      return !strncmp(qs, str, len);
-+}
-+
-+static const struct sfp_quirk *sfp_lookup_quirk(const struct sfp_eeprom_id 
*id)
-+{
-+      const struct sfp_quirk *q;
-+      unsigned int i;
-+      size_t vs, ps;
-+
-+      vs = sfp_strlen(id->base.vendor_name, ARRAY_SIZE(id->base.vendor_name));
-+      ps = sfp_strlen(id->base.vendor_pn, ARRAY_SIZE(id->base.vendor_pn));
-+
-+      for (i = 0, q = sfp_quirks; i < ARRAY_SIZE(sfp_quirks); i++, q++)
-+              if (sfp_match(q->vendor, id->base.vendor_name, vs) &&
-+                  sfp_match(q->part, id->base.vendor_pn, ps))
-+                      return q;
-+
-+      return NULL;
-+}
- /**
-  * sfp_parse_port() - Parse the EEPROM base ID, setting the port type
-  * @bus: a pointer to the &struct sfp_bus structure for the sfp module
-@@ -233,6 +280,9 @@ void sfp_parse_support(struct sfp_bus *b
-                       phylink_set(modes, 1000baseX_Full);
-       }
- 
-+      if (bus->sfp_quirk)
-+              bus->sfp_quirk->modes(id, modes);
-+
-       bitmap_or(support, support, modes, __ETHTOOL_LINK_MODE_MASK_NBITS);
- 
-       phylink_set(support, Autoneg);
-@@ -609,6 +659,8 @@ int sfp_module_insert(struct sfp_bus *bu
-       const struct sfp_upstream_ops *ops = sfp_get_upstream_ops(bus);
-       int ret = 0;
- 
-+      bus->sfp_quirk = sfp_lookup_quirk(id);
-+
-       if (ops && ops->module_insert)
-               ret = ops->module_insert(bus->upstream, id);
- 
-@@ -622,6 +674,8 @@ void sfp_module_remove(struct sfp_bus *b
- 
-       if (ops && ops->module_remove)
-               ops->module_remove(bus->upstream);
-+
-+      bus->sfp_quirk = NULL;
- }
- EXPORT_SYMBOL_GPL(sfp_module_remove);
- 
diff --git 
a/target/linux/generic/backport-4.19/743-v5.5-net-sfp-add-some-quirks-for-GPON-modules.patch
 
b/target/linux/generic/backport-4.19/743-v5.5-net-sfp-add-some-quirks-for-GPON-modules.patch
deleted file mode 100644
index 10c34881d815..000000000000
--- 
a/target/linux/generic/backport-4.19/743-v5.5-net-sfp-add-some-quirks-for-GPON-modules.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From ecaa542cfed078dbc356dadff0bad4b6a8e704a0 Mon Sep 17 00:00:00 2001
-From: Russell King <rmk+ker...@armlinux.org.uk>
-Date: Fri, 17 May 2019 10:14:45 +0100
-Subject: [PATCH 641/660] net: sfp: add some quirks for GPON modules
-
-Marc Micalizzi reports that Huawei MA5671A and Alcatel/Lucent G-010S-P
-modules are capable of 2500base-X, but incorrectly report their
-capabilities in the EEPROM.  It seems rather common that GPON modules
-mis-report.
-
-Let's fix these modules by adding some quirks.
-
-Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk>
----
- drivers/net/phy/sfp-bus.c | 25 +++++++++++++++++++++++++
- 1 file changed, 25 insertions(+)
-
---- a/drivers/net/phy/sfp-bus.c
-+++ b/drivers/net/phy/sfp-bus.c
-@@ -37,7 +37,32 @@ struct sfp_bus {
-       bool started;
- };
- 
-+static void sfp_quirk_2500basex(const struct sfp_eeprom_id *id,
-+                              unsigned long *modes)
-+{
-+      phylink_set(modes, 2500baseX_Full);
-+}
-+
- static const struct sfp_quirk sfp_quirks[] = {
-+      {
-+              // Alcatel Lucent G-010S-P can operate at 2500base-X, but
-+              // incorrectly report 2500MBd NRZ in their EEPROM
-+              .vendor = "ALCATELLUCENT",
-+              .part = "G010SP",
-+              .modes = sfp_quirk_2500basex,
-+      }, {
-+              // Alcatel Lucent G-010S-A can operate at 2500base-X, but
-+              // report 3.2GBd NRZ in their EEPROM
-+              .vendor = "ALCATELLUCENT",
-+              .part = "3FE46541AA",
-+              .modes = sfp_quirk_2500basex,
-+      }, {
-+              // Huawei MA5671A can operate at 2500base-X, but report 1.2GBd
-+              // NRZ in their EEPROM
-+              .vendor = "HUAWEI",
-+              .part = "MA5671A",
-+              .modes = sfp_quirk_2500basex,
-+      },
- };
- 
- static size_t sfp_strlen(const char *str, size_t maxlen)
diff --git a/target/linux/generic/hack-4.19/204-module_strip.patch 
b/target/linux/generic/hack-4.19/204-module_strip.patch
index c9f84dd637e4..c5170ba295ba 100644
--- a/target/linux/generic/hack-4.19/204-module_strip.patch
+++ b/target/linux/generic/hack-4.19/204-module_strip.patch
@@ -114,7 +114,7 @@ Signed-off-by: Felix Fietkau <n...@nbd.name>
  config MODULES_TREE_LOOKUP
 --- a/kernel/module.c
 +++ b/kernel/module.c
-@@ -3028,9 +3028,11 @@ static int setup_load_info(struct load_i
+@@ -3030,9 +3030,11 @@ static int setup_load_info(struct load_i
  
  static int check_modinfo(struct module *mod, struct load_info *info, int 
flags)
  {
@@ -127,7 +127,7 @@ Signed-off-by: Felix Fietkau <n...@nbd.name>
        if (flags & MODULE_INIT_IGNORE_VERMAGIC)
                modmagic = NULL;
  
-@@ -3051,6 +3053,7 @@ static int check_modinfo(struct module *
+@@ -3053,6 +3055,7 @@ static int check_modinfo(struct module *
                                mod->name);
                add_taint_module(mod, TAINT_OOT_MODULE, LOCKDEP_STILL_OK);
        }
diff --git a/target/linux/generic/hack-4.19/221-module_exports.patch 
b/target/linux/generic/hack-4.19/221-module_exports.patch
index cd5ae5830c5f..457baa5a1e9d 100644
--- a/target/linux/generic/hack-4.19/221-module_exports.patch
+++ b/target/linux/generic/hack-4.19/221-module_exports.patch
@@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <n...@nbd.name>
  /* Align . to a 8 byte boundary equals to maximum function alignment. */
  #define ALIGN_FUNCTION()  . = ALIGN(8)
  
-@@ -372,14 +382,14 @@
+@@ -373,14 +383,14 @@
        /* Kernel symbol table: Normal symbols */                       \
        __ksymtab         : AT(ADDR(__ksymtab) - LOAD_OFFSET) {         \
                __start___ksymtab = .;                                  \
@@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau <n...@nbd.name>
                __stop___ksymtab_gpl = .;                               \
        }                                                               \
                                                                        \
-@@ -441,7 +451,7 @@
+@@ -442,7 +452,7 @@
                                                                        \
        /* Kernel symbol table: strings */                              \
          __ksymtab_strings : AT(ADDR(__ksymtab_strings) - LOAD_OFFSET) {       
\
@@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <n...@nbd.name>
        }                                                               \
                                                                        \
        /* __*init sections */                                          \
-@@ -841,6 +851,8 @@
+@@ -844,6 +854,8 @@
        EXIT_TEXT                                                       \
        EXIT_DATA                                                       \
        EXIT_CALL                                                       \
diff --git a/target/linux/generic/hack-4.19/259-regmap_dynamic.patch 
b/target/linux/generic/hack-4.19/259-regmap_dynamic.patch
index af9431e18965..c9d88a4e5fd8 100644
--- a/target/linux/generic/hack-4.19/259-regmap_dynamic.patch
+++ b/target/linux/generic/hack-4.19/259-regmap_dynamic.patch
@@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <n...@nbd.name>
  #include <linux/mutex.h>
  #include <linux/err.h>
  #include <linux/of.h>
-@@ -3040,3 +3041,5 @@ static int __init regmap_initcall(void)
+@@ -3032,3 +3033,5 @@ static int __init regmap_initcall(void)
        return 0;
  }
  postcore_initcall(regmap_initcall);
diff --git 
a/target/linux/generic/hack-4.19/641-sch_cake-fix-IP-protocol-handling-in-the-presence-of.patch
 
b/target/linux/generic/hack-4.19/641-sch_cake-fix-IP-protocol-handling-in-the-presence-of.patch
index e651743c1db6..c962b710681a 100644
--- 
a/target/linux/generic/hack-4.19/641-sch_cake-fix-IP-protocol-handling-in-the-presence-of.patch
+++ 
b/target/linux/generic/hack-4.19/641-sch_cake-fix-IP-protocol-handling-in-the-presence-of.patch
@@ -98,7 +98,7 @@ Signed-off-by: Kevin Darbyshire-Bryant 
<l...@darbyshire-bryant.me.uk>
        bool rev = !skb->_nfct, upd = false;
        __be32 ip;
  
--      if (tc_skb_protocol(skb) != htons(ETH_P_IP))
+-      if (skb_protocol(skb, true) != htons(ETH_P_IP))
 +      if (cake_skb_proto(skb) != htons(ETH_P_IP))
                return false;
  
@@ -107,7 +107,7 @@ Signed-off-by: Kevin Darbyshire-Bryant 
<l...@darbyshire-bryant.me.uk>
        u16 *buf, buf_;
        u8 dscp;
  
--      switch (tc_skb_protocol(skb)) {
+-      switch (skb_protocol(skb, true)) {
 +      switch (cake_skb_proto(skb)) {
        case htons(ETH_P_IP):
                buf = skb_header_pointer(skb, offset, sizeof(buf_), &buf_);
diff --git 
a/target/linux/generic/pending-4.19/350-MIPS-Add-missing-EHB-in-mtc0-mfc0-sequence-for-DSPen.patch
 
b/target/linux/generic/pending-4.19/350-MIPS-Add-missing-EHB-in-mtc0-mfc0-sequence-for-DSPen.patch
deleted file mode 100644
index 92a22bc65514..000000000000
--- 
a/target/linux/generic/pending-4.19/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 <ha...@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 <ha...@hauke-m.de>
-Cc: <sta...@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
-@@ -2096,6 +2096,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-4.19/810-pci_disable_common_quirks.patch 
b/target/linux/generic/pending-4.19/810-pci_disable_common_quirks.patch
index 669229c620cc..c757aeeaad6e 100644
--- a/target/linux/generic/pending-4.19/810-pci_disable_common_quirks.patch
+++ b/target/linux/generic/pending-4.19/810-pci_disable_common_quirks.patch
@@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos <juh...@openwrt.org>
  /*
   * The Mellanox Tavor device gives false positive parity errors.  Mark this
   * device with a broken_parity_status to allow PCI scanning code to "skip"
-@@ -3213,6 +3214,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
+@@ -3226,6 +3227,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
  
@@ -42,7 +42,7 @@ Signed-off-by: Gabor Juhos <juh...@openwrt.org>
  /*
   * Ivytown NTB BAR sizes are misreported by the hardware due to an erratum.
   * To work around this, query the size it should be configured to by the
-@@ -3238,6 +3241,8 @@ static void quirk_intel_ntb(struct pci_d
+@@ -3251,6 +3254,8 @@ static void quirk_intel_ntb(struct pci_d
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb);
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb);
  
@@ -51,7 +51,7 @@ Signed-off-by: Gabor Juhos <juh...@openwrt.org>
  /*
   * Some BIOS implementations leave the Intel GPU interrupts enabled, even
   * though no one is handling them (e.g., if the i915 driver is never
-@@ -3276,6 +3281,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
+@@ -3289,6 +3294,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
  
diff --git 
a/target/linux/mvebu/patches-4.19/561-mvebu-armada-38x-enable-libata-leds.patch 
b/target/linux/mvebu/patches-4.19/561-mvebu-armada-38x-enable-libata-leds.patch
index 3f9ad364de39..208703b0bad7 100644
--- 
a/target/linux/mvebu/patches-4.19/561-mvebu-armada-38x-enable-libata-leds.patch
+++ 
b/target/linux/mvebu/patches-4.19/561-mvebu-armada-38x-enable-libata-leds.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-mvebu/Kconfig
 +++ b/arch/arm/mach-mvebu/Kconfig
-@@ -68,6 +68,7 @@
+@@ -68,6 +68,7 @@ config MACH_ARMADA_38X
        select HAVE_SMP
        select MACH_MVEBU_V7
        select PINCTRL_ARMADA_38X
-- 
2.20.1


_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to