kernel: bump 4.14 to 4.14.209
authorHauke Mehrtens <hauke@hauke-m.de>
Sat, 28 Nov 2020 22:02:21 +0000 (23:02 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Tue, 1 Dec 2020 20:57:55 +0000 (21:57 +0100)
Refreshed all patches.

Altered patches:
- 804-i2c-support-layerscape.patch

Compile-tested on: ipq40xx, ath79, layerscape/armv8_64b
Runtime-tested on: ipq40xx, ath79

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
include/kernel-version.mk
target/linux/brcm47xx/patches-4.14/209-b44-register-adm-switch.patch
target/linux/generic/backport-4.14/373-netfilter_actual_sk.patch
target/linux/generic/pending-4.14/499-mtd-parser-cmdline-Fix-parsing-of-part-names-with-co.patch
target/linux/generic/pending-4.14/643-net-bridge-support-hardware-flow-table-offload.patch
target/linux/layerscape/patches-4.14/804-i2c-support-layerscape.patch

index e581897dc108c126e0cdea11a0125ccccf249556..45bedf3261c7bcd822143be2994c74548a0f690e 100644 (file)
@@ -6,9 +6,9 @@ ifdef CONFIG_TESTING_KERNEL
   KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
 endif
 
-LINUX_VERSION-4.14 = .206
+LINUX_VERSION-4.14 = .209
 
-LINUX_KERNEL_HASH-4.14.206 = 1c233efaa5063983293a02d4692acc9ced9c03e18857364855d4f612347086ac
+LINUX_KERNEL_HASH-4.14.209 = cb02465cc8f1972cc14707b25d779c8668d220c39e68a24bb23afd4c58182b9c
 
 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
 sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
index cdeb1f96e927e7c886cce12135855447d433491a..be0fd7c6eb5dc45255283b741b75cc1026389e36 100644 (file)
@@ -99,7 +99,7 @@ Subject: [PATCH 210/210] b44: register adm switch
                dev_info(sdev->dev,
                         "could not find PHY at %i, use fixed one\n",
                         bp->phy_addr);
-@@ -2480,6 +2548,7 @@ static void b44_remove_one(struct ssb_de
+@@ -2481,6 +2549,7 @@ static void b44_remove_one(struct ssb_de
        unregister_netdev(dev);
        if (bp->flags & B44_FLAG_EXTERNAL_PHY)
                b44_unregister_phy_one(bp);
index 21722ceb23bdb7cbc1126e7cc08e6151115ed0c9..86e4b7aa1c100d8a2e657f6581e4c9594bb8303c 100644 (file)
@@ -52,28 +52,28 @@ Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
 @@ -16,7 +16,7 @@ struct ip_rt_info {
        u_int32_t mark;
  };
-
 -int ip_route_me_harder(struct net *net, struct sk_buff *skb, unsigned addr_type);
 +int ip_route_me_harder(struct net *net, struct sock *sk, struct sk_buff *skb, unsigned addr_type);
-
  struct nf_queue_entry;
-
 --- a/include/linux/netfilter_ipv6.h
 +++ b/include/linux/netfilter_ipv6.h
 @@ -41,7 +41,7 @@ struct nf_ipv6_ops {
  };
-
  #ifdef CONFIG_NETFILTER
 -int ip6_route_me_harder(struct net *net, struct sk_buff *skb);
 +int ip6_route_me_harder(struct net *net, struct sock *sk, struct sk_buff *skb);
  __sum16 nf_ip6_checksum(struct sk_buff *skb, unsigned int hook,
                        unsigned int dataoff, u_int8_t protocol);
-
 --- a/net/ipv4/netfilter.c
 +++ b/net/ipv4/netfilter.c
 @@ -17,17 +17,19 @@
  #include <net/netfilter/nf_queue.h>
-
  /* route_me_harder function, used by iptable_nat, iptable_mangle + ip_queue */
 -int ip_route_me_harder(struct net *net, struct sk_buff *skb, unsigned int addr_type)
 +int ip_route_me_harder(struct net *net, struct sock *sk, struct sk_buff *skb, unsigned int addr_type)
@@ -87,7 +87,7 @@ Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
 +      __u8 flags;
        struct net_device *dev = skb_dst(skb)->dev;
        unsigned int hh_len;
-
 +      sk = sk_to_full_sk(sk);
 +      flags = sk ? inet_sk_flowi_flags(sk) : 0;
 +
@@ -106,13 +106,13 @@ Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
 --- a/net/ipv4/netfilter/ipt_SYNPROXY.c
 +++ b/net/ipv4/netfilter/ipt_SYNPROXY.c
 @@ -53,7 +53,7 @@ synproxy_send_tcp(struct net *net,
-
        skb_dst_set_noref(nskb, skb_dst(skb));
        nskb->protocol = htons(ETH_P_IP);
 -      if (ip_route_me_harder(net, nskb, RTN_UNSPEC))
 +      if (ip_route_me_harder(net, nskb->sk, nskb, RTN_UNSPEC))
                goto free_nskb;
-
        if (nfct) {
 --- a/net/ipv4/netfilter/iptable_mangle.c
 +++ b/net/ipv4/netfilter/iptable_mangle.c
@@ -128,7 +128,7 @@ Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
 --- a/net/ipv4/netfilter/nf_nat_l3proto_ipv4.c
 +++ b/net/ipv4/netfilter/nf_nat_l3proto_ipv4.c
 @@ -397,7 +397,7 @@ nf_nat_ipv4_local_fn(void *priv, struct
-
                if (ct->tuplehash[dir].tuple.dst.u3.ip !=
                    ct->tuplehash[!dir].tuple.src.u3.ip) {
 -                      err = ip_route_me_harder(state->net, skb, RTN_UNSPEC);
@@ -141,11 +141,11 @@ Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
 @@ -129,7 +129,7 @@ void nf_send_reset(struct net *net, stru
                                   ip4_dst_hoplimit(skb_dst(nskb)));
        nf_reject_ip_tcphdr_put(nskb, oldskb, oth);
-
 -      if (ip_route_me_harder(net, nskb, RTN_UNSPEC))
 +      if (ip_route_me_harder(net, nskb->sk, nskb, RTN_UNSPEC))
                goto free_nskb;
-
        niph = ip_hdr(nskb);
 --- a/net/ipv4/netfilter/nft_chain_route_ipv4.c
 +++ b/net/ipv4/netfilter/nft_chain_route_ipv4.c
@@ -163,7 +163,7 @@ Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
 @@ -18,10 +18,10 @@
  #include <net/ip6_checksum.h>
  #include <net/netfilter/nf_queue.h>
-
 -int ip6_route_me_harder(struct net *net, struct sk_buff *skb)
 +int ip6_route_me_harder(struct net *net, struct sock *sk_partial, struct sk_buff *skb)
  {
@@ -196,7 +196,7 @@ Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
 --- a/net/ipv6/netfilter/nf_nat_l3proto_ipv6.c
 +++ b/net/ipv6/netfilter/nf_nat_l3proto_ipv6.c
 @@ -414,7 +414,7 @@ nf_nat_ipv6_local_fn(void *priv, struct
-
                if (!nf_inet_addr_cmp(&ct->tuplehash[dir].tuple.dst.u3,
                                      &ct->tuplehash[!dir].tuple.src.u3)) {
 -                      err = ip6_route_me_harder(state->net, skb);
@@ -219,7 +219,7 @@ Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
 +++ b/net/netfilter/ipvs/ip_vs_core.c
 @@ -713,12 +713,12 @@ static int ip_vs_route_me_harder(struct
                struct dst_entry *dst = skb_dst(skb);
-
                if (dst->dev && !(dst->dev->flags & IFF_LOOPBACK) &&
 -                  ip6_route_me_harder(ipvs->net, skb) != 0)
 +                  ip6_route_me_harder(ipvs->net, skb->sk, skb) != 0)
@@ -230,5 +230,5 @@ Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
 -                  ip_route_me_harder(ipvs->net, skb, RTN_LOCAL) != 0)
 +                  ip_route_me_harder(ipvs->net, skb->sk, skb, RTN_LOCAL) != 0)
                        return 1;
-
        return 0;
index 9bb713e7809c1387f2733e69a16c222ebc313c8b..9fad2663ea8b71ce59d2b99cd4fc122efdbd2ab9 100644 (file)
@@ -23,11 +23,9 @@ Forwarded: https://patchwork.ozlabs.org/project/linux-mtd/patch/20201122001533.9
 Fixes: eb13fa022741 ("mtd: parser: cmdline: Support MTD names containing one or more colons")
 Signed-off-by: Sven Eckelmann <sven@narfation.org>
 
-diff --git a/drivers/mtd/cmdlinepart.c b/drivers/mtd/cmdlinepart.c
-index 0625b25620ca766318ea4646a6e3761ff4d3a4cc..22881ea4c132ea5a5ba7aebd025d91bf1cd023af 100644
 --- a/drivers/mtd/cmdlinepart.c
 +++ b/drivers/mtd/cmdlinepart.c
-@@ -218,7 +218,7 @@ static int mtdpart_setup_real(char *s)
+@@ -228,7 +228,7 @@ static int mtdpart_setup_real(char *s)
                struct cmdline_mtd_partition *this_mtd;
                struct mtd_partition *parts;
                int mtd_id_len, num_parts;
@@ -36,7 +34,7 @@ index 0625b25620ca766318ea4646a6e3761ff4d3a4cc..22881ea4c132ea5a5ba7aebd025d91bf
  
                /*
                 * Replace the first ';' by a NULL char so strrchr can work
-@@ -228,6 +228,13 @@ static int mtdpart_setup_real(char *s)
+@@ -238,6 +238,13 @@ static int mtdpart_setup_real(char *s)
                if (semicol)
                        *semicol = '\0';
  
@@ -50,7 +48,7 @@ index 0625b25620ca766318ea4646a6e3761ff4d3a4cc..22881ea4c132ea5a5ba7aebd025d91bf
                mtd_id = s;
  
                /*
-@@ -237,6 +244,10 @@ static int mtdpart_setup_real(char *s)
+@@ -247,6 +254,10 @@ static int mtdpart_setup_real(char *s)
                 */
                p = strrchr(s, ':');
  
index b54d3cb48fb3ce9ad0167fe6c1ce7c8fb54d4270..698b0de98ca284ff0cfccd82887454de422343b1 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  #include <linux/uaccess.h>
  #include "br_private.h"
-@@ -346,6 +350,28 @@ static const struct ethtool_ops br_ethto
+@@ -347,6 +351,28 @@ static const struct ethtool_ops br_ethto
        .get_link       = ethtool_op_get_link,
  };
  
@@ -49,7 +49,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  static const struct net_device_ops br_netdev_ops = {
        .ndo_open                = br_dev_open,
        .ndo_stop                = br_dev_stop,
-@@ -373,6 +399,9 @@ static const struct net_device_ops br_ne
+@@ -374,6 +400,9 @@ static const struct net_device_ops br_ne
        .ndo_bridge_setlink      = br_setlink,
        .ndo_bridge_dellink      = br_dellink,
        .ndo_features_check      = passthru_features_check,
index 31c686d5611480518212d1aaa08a55a5c5b9e862..d85f9d1c5f0789da15f89a04005c701c2c5f95b6 100644 (file)
@@ -84,7 +84,7 @@ Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
  /*
   * sorted list of clock divider, register value pairs
   * taken from table 26-5, p.26-9, Freescale i.MX
-@@ -210,6 +263,12 @@ struct imx_i2c_struct {
+@@ -211,6 +264,12 @@ struct imx_i2c_struct {
        struct pinctrl_state *pinctrl_pins_gpio;
  
        struct imx_i2c_dma      *dma;
@@ -97,7 +97,7 @@ Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
  };
  
  static const struct imx_i2c_hwdata imx1_i2c_hwdata = {
-@@ -281,8 +340,8 @@ static inline unsigned char imx_i2c_read
+@@ -282,8 +341,8 @@ static inline unsigned char imx_i2c_read
  }
  
  /* Functions for DMA support */
@@ -108,7 +108,7 @@ Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
  {
        struct imx_i2c_dma *dma;
        struct dma_slave_config dma_sconfig;
-@@ -291,11 +350,13 @@ static void i2c_imx_dma_request(struct i
+@@ -292,11 +351,13 @@ static void i2c_imx_dma_request(struct i
  
        dma = devm_kzalloc(dev, sizeof(*dma), GFP_KERNEL);
        if (!dma)
@@ -126,7 +126,7 @@ Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
                goto fail_al;
        }
  
-@@ -306,13 +367,15 @@ static void i2c_imx_dma_request(struct i
+@@ -307,13 +368,15 @@ static void i2c_imx_dma_request(struct i
        dma_sconfig.direction = DMA_MEM_TO_DEV;
        ret = dmaengine_slave_config(dma->chan_tx, &dma_sconfig);
        if (ret < 0) {
@@ -146,7 +146,7 @@ Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
                goto fail_tx;
        }
  
-@@ -323,7 +386,7 @@ static void i2c_imx_dma_request(struct i
+@@ -324,7 +387,7 @@ static void i2c_imx_dma_request(struct i
        dma_sconfig.direction = DMA_DEV_TO_MEM;
        ret = dmaengine_slave_config(dma->chan_rx, &dma_sconfig);
        if (ret < 0) {
@@ -155,7 +155,7 @@ Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
                goto fail_rx;
        }
  
-@@ -332,7 +395,7 @@ static void i2c_imx_dma_request(struct i
+@@ -333,7 +396,7 @@ static void i2c_imx_dma_request(struct i
        dev_info(dev, "using %s (tx) and %s (rx) for DMA transfers\n",
                dma_chan_name(dma->chan_tx), dma_chan_name(dma->chan_rx));
  
@@ -164,7 +164,7 @@ Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
  
  fail_rx:
        dma_release_channel(dma->chan_rx);
-@@ -340,7 +403,8 @@ fail_tx:
+@@ -341,7 +404,8 @@ fail_tx:
        dma_release_channel(dma->chan_tx);
  fail_al:
        devm_kfree(dev, dma);
@@ -174,7 +174,7 @@ Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
  }
  
  static void i2c_imx_dma_callback(void *arg)
-@@ -878,6 +942,78 @@ static int i2c_imx_read(struct imx_i2c_s
+@@ -890,6 +954,78 @@ static int i2c_imx_read(struct imx_i2c_s
        return 0;
  }
  
@@ -253,7 +253,7 @@ Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
  static int i2c_imx_xfer(struct i2c_adapter *adapter,
                                                struct i2c_msg *msgs, int num)
  {
-@@ -888,6 +1024,19 @@ static int i2c_imx_xfer(struct i2c_adapt
+@@ -900,6 +1036,19 @@ static int i2c_imx_xfer(struct i2c_adapt
  
        dev_dbg(&i2c_imx->adapter.dev, "<%s>\n", __func__);
  
@@ -273,7 +273,7 @@ Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
        result = pm_runtime_get_sync(i2c_imx->adapter.dev.parent);
        if (result < 0)
                goto out;
-@@ -1030,6 +1179,50 @@ static int i2c_imx_init_recovery_info(st
+@@ -1042,6 +1191,50 @@ static int i2c_imx_init_recovery_info(st
        return 0;
  }
  
@@ -324,7 +324,7 @@ Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
  static u32 i2c_imx_func(struct i2c_adapter *adapter)
  {
        return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL
-@@ -1085,6 +1278,11 @@ static int i2c_imx_probe(struct platform
+@@ -1097,6 +1290,11 @@ static int i2c_imx_probe(struct platform
        i2c_imx->adapter.dev.of_node    = pdev->dev.of_node;
        i2c_imx->base                   = base;
  
@@ -336,17 +336,7 @@ Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
        /* Get I2C clock */
        i2c_imx->clk = devm_clk_get(&pdev->dev, NULL);
        if (IS_ERR(i2c_imx->clk)) {
-@@ -1104,7 +1302,8 @@ static int i2c_imx_probe(struct platform
-                               pdev->name, i2c_imx);
-       if (ret) {
-               dev_err(&pdev->dev, "can't claim irq %d\n", irq);
--              goto clk_disable;
-+              clk_disable_unprepare(i2c_imx->clk);
-+              return ret;
-       }
-       /* Init queue */
-@@ -1151,25 +1350,31 @@ static int i2c_imx_probe(struct platform
+@@ -1166,17 +1364,25 @@ static int i2c_imx_probe(struct platform
        pm_runtime_mark_last_busy(&pdev->dev);
        pm_runtime_put_autosuspend(&pdev->dev);
  
@@ -373,17 +363,9 @@ Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
  
 +del_adapter:
 +      i2c_del_adapter(&i2c_imx->adapter);
- rpm_disable:
-       pm_runtime_put_noidle(&pdev->dev);
-       pm_runtime_disable(&pdev->dev);
-       pm_runtime_set_suspended(&pdev->dev);
-       pm_runtime_dont_use_autosuspend(&pdev->dev);
--clk_disable:
--      clk_disable_unprepare(i2c_imx->clk);
-       return ret;
- }
+ clk_notifier_unregister:
+       clk_notifier_unregister(i2c_imx->clk, &i2c_imx->clk_change_nb);
+       free_irq(irq, i2c_imx);
 --- a/drivers/i2c/muxes/i2c-mux-pca954x.c
 +++ b/drivers/i2c/muxes/i2c-mux-pca954x.c
 @@ -85,6 +85,7 @@ struct pca954x {