Refreshed all patches.
Remove upstreamed (superseded):
- 950-0726-can-mcp251x-Allow-more-time-after-a-reset.patch
Compile-tested on: brcm2708, cns3xxx
Runtime-tested on: cns3xxx
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
endif
LINUX_VERSION-4.9 = .196
-LINUX_VERSION-4.19 = .78
LINUX_VERSION-4.14 = .149
+LINUX_VERSION-4.19 = .79
LINUX_KERNEL_HASH-4.9.196 = e0ab12b04a975630ece2142a1ac15cfe45140b8c3359226b035c15ca7c92c6ef
-LINUX_KERNEL_HASH-4.19.78 = df63ea77c6e28566102a33f503513bc6280f79b48c90921b39661d3ce6295049
LINUX_KERNEL_HASH-4.14.149 = e69dabd2368440ce1650cda0cf043e1ba3f3343f940a43b68e761739fcb3f296
+LINUX_KERNEL_HASH-4.19.79 = f1143564364f278ba0893a7813afc02da6ecef6d5de147bd5011aa3cc1634b34
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
--- a/drivers/net/can/spi/mcp251x.c
+++ b/drivers/net/can/spi/mcp251x.c
-@@ -939,6 +939,9 @@ static int mcp251x_open(struct net_devic
+@@ -948,6 +948,9 @@ static int mcp251x_open(struct net_devic
priv->tx_skb = NULL;
priv->tx_len = 0;
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
-@@ -2932,6 +2932,10 @@ static irqreturn_t sdhci_irq(int irq, vo
+@@ -2937,6 +2937,10 @@ static irqreturn_t sdhci_irq(int irq, vo
result = IRQ_WAKE_THREAD;
}
+++ /dev/null
-From 9f29c6c8865de6f2dc200cb4c59a447d0884a6b3 Mon Sep 17 00:00:00 2001
-From: Phil Elwell <phil@raspberrypi.org>
-Date: Thu, 1 Aug 2019 08:58:48 +0100
-Subject: [PATCH 726/806] can: mcp251x: Allow more time after a reset
-
-Some boards take longer than 5ms to power up after a reset, so allow
-a few retry attempts before giving up.
-
-See: https://github.com/raspberrypi/linux/issues/2767
-
-Signed-off-by: Phil Elwell <phil@raspberrypi.org>
----
- drivers/net/can/spi/mcp251x.c | 15 ++++++++++++---
- 1 file changed, 12 insertions(+), 3 deletions(-)
-
---- a/drivers/net/can/spi/mcp251x.c
-+++ b/drivers/net/can/spi/mcp251x.c
-@@ -628,6 +628,7 @@ static int mcp251x_hw_reset(struct spi_d
- struct mcp251x_priv *priv = spi_get_drvdata(spi);
- u8 reg;
- int ret;
-+ int retries = 10;
-
- /* Wait for oscillator startup timer after power up */
- mdelay(MCP251X_OST_DELAY_MS);
-@@ -637,10 +638,18 @@ static int mcp251x_hw_reset(struct spi_d
- if (ret)
- return ret;
-
-- /* Wait for oscillator startup timer after reset */
-- mdelay(MCP251X_OST_DELAY_MS);
-+ /*
-+ * Wait for oscillator startup timer after reset
-+ *
-+ * Some devices can take longer than the expected 5ms to wake
-+ * up, so allow a few retries.
-+ */
-+
-+ do {
-+ mdelay(MCP251X_OST_DELAY_MS);
-+ reg = mcp251x_read_reg(spi, CANSTAT);
-+ } while (!reg && retries--);
-
-- reg = mcp251x_read_reg(spi, CANSTAT);
- if ((reg & CANCTRL_REQOP_MASK) != CANCTRL_REQOP_CONF)
- return -ENODEV;
-
#include <linux/personality.h>
#include <linux/preempt.h>
#include <linux/printk.h>
-@@ -125,6 +126,10 @@ static int c_show(struct seq_file *m, vo
+@@ -126,6 +127,10 @@ static int c_show(struct seq_file *m, vo
{
int i, j;
bool compat = personality(current->personality) == PER_LINUX32;
for_each_online_cpu(i) {
struct cpuinfo_arm64 *cpuinfo = &per_cpu(cpu_data, i);
-@@ -176,6 +181,26 @@ static int c_show(struct seq_file *m, vo
+@@ -177,6 +182,26 @@ static int c_show(struct seq_file *m, vo
seq_printf(m, "CPU revision\t: %d\n\n", MIDR_REVISION(midr));
}
--- a/arch/mips/kernel/proc.c
+++ b/arch/mips/kernel/proc.c
-@@ -130,6 +130,122 @@ static int show_cpuinfo(struct seq_file
+@@ -134,6 +134,122 @@ static int show_cpuinfo(struct seq_file
seq_printf(m, "micromips kernel\t: %s\n",
(read_c0_config3() & MIPS_CONF3_ISA_OE) ? "yes" : "no");
}
+MODULE_ALIAS("nf-flow-table-hw");
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
-@@ -5468,6 +5468,13 @@ static int nf_tables_flowtable_parse_hoo
+@@ -5471,6 +5471,13 @@ static int nf_tables_flowtable_parse_hoo
if (err < 0)
return err;
ops = kcalloc(n, sizeof(struct nf_hook_ops), GFP_KERNEL);
if (!ops)
return -ENOMEM;
-@@ -5599,10 +5606,19 @@ static int nf_tables_newflowtable(struct
+@@ -5602,10 +5609,19 @@ static int nf_tables_newflowtable(struct
}
flowtable->data.type = type;
err = nf_tables_flowtable_parse_hook(&ctx, nla[NFTA_FLOWTABLE_HOOK],
flowtable);
if (err < 0)
-@@ -5728,7 +5744,8 @@ static int nf_tables_fill_flowtable_info
+@@ -5731,7 +5747,8 @@ static int nf_tables_fill_flowtable_info
nla_put_string(skb, NFTA_FLOWTABLE_NAME, flowtable->name) ||
nla_put_be32(skb, NFTA_FLOWTABLE_USE, htonl(flowtable->use)) ||
nla_put_be64(skb, NFTA_FLOWTABLE_HANDLE, cpu_to_be64(flowtable->handle),