aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/backport-4.19
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2020-07-31 19:41:26 +0200
committerHauke Mehrtens <hauke@hauke-m.de>2020-08-10 19:34:37 +0200
commitfdac05b7416b7355f565065bdbc158e0ede7133e (patch)
tree7b3390b953cfd4880d399b6906a7c3f056adc34d /target/linux/generic/backport-4.19
parentfce0f1501b12b54c0961802ff10b4b5f24a1a33d (diff)
downloadupstream-fdac05b7416b7355f565065bdbc158e0ede7133e.tar.gz
upstream-fdac05b7416b7355f565065bdbc158e0ede7133e.tar.bz2
upstream-fdac05b7416b7355f565065bdbc158e0ede7133e.zip
kernel: Update kernel 4.19 to version 4.19.138
Compile and run tested on lantiq/xrx200 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat (limited to 'target/linux/generic/backport-4.19')
-rw-r--r--target/linux/generic/backport-4.19/395-v5.8-net-sch_cake-Take-advantage-of-skb-hash-where-appropriate.patch2
-rw-r--r--target/linux/generic/backport-4.19/711-v5.3-net-sfp-add-mandatory-attach-detach-methods-for-sfp-.patch4
-rw-r--r--target/linux/generic/backport-4.19/712-v5.3-net-sfp-remove-sfp-bus-use-of-netdevs.patch12
-rw-r--r--target/linux/generic/backport-4.19/716-v5.4-net-sfp-move-fwnode-parsing-into-sfp-bus-layer.patch2
-rw-r--r--target/linux/generic/backport-4.19/717-v5.5-net-sfp-rework-upstream-interface.patch12
-rw-r--r--target/linux/generic/backport-4.19/718-v5.5-net-sfp-fix-sfp_bus_put-kernel-documentation.patch2
-rw-r--r--target/linux/generic/backport-4.19/742-v5.5-net-sfp-add-support-for-module-quirks.patch111
-rw-r--r--target/linux/generic/backport-4.19/743-v5.5-net-sfp-add-some-quirks-for-GPON-modules.patch52
8 files changed, 17 insertions, 180 deletions
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 12962135d0..a4981acdee 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 <ldir@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 74dc39fa7f..0600da2fad 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+kernel@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+kernel@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 8f0c37e092..e68cc381dc 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+kernel@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+kernel@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+kernel@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+kernel@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+kernel@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+kernel@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 27ab78f3ee..bc16e8f1c6 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+kernel@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 f7dd187c16..a901b15aaf 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+kernel@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+kernel@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+kernel@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+kernel@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+kernel@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+kernel@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 59d2ce588c..7bfff60f2f 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+kernel@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 5068bd468c..0000000000
--- 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+kernel@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+kernel@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 10c34881d8..0000000000
--- 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+kernel@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+kernel@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)