kernel: bump 5.15 to 5.15.150
authorHauke Mehrtens <hauke@hauke-m.de>
Sun, 3 Mar 2024 11:25:27 +0000 (12:25 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Thu, 7 Mar 2024 18:30:54 +0000 (19:30 +0100)
Removed because it is upstream:
bcm53xx/patches-5.15/030-v5.16-0019-ARM-dts-BCM53573-Describe-on-SoC-BCM53125-rev-4-swit.patch
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=cb1003c07e746e4e82bdd3959c9ea37018ed41a3

Removed because it is upstream:
bcm53xx/patches-5.15/037-v6.6-0004-ARM-dts-BCM53573-Drop-nonexistent-default-off-LED-tr.patch
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=c65a23e98e38dc991f495d6bdb3cfa6163a88a0c

Removed because it is upstream:
bcm53xx/patches-5.15/037-v6.6-0005-ARM-dts-BCM53573-Drop-nonexistent-usb-cells.patch
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=71475bcee001cae3844644c2787eef93b26489d1

Adapted hack-5.15/650-netfilter-add-xt_FLOWOFFLOAD-target.patch to match
the changes from the upstream flow offload patch:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=7c71b831220edeab7ce603d818dc1708d9ea4137

Manually Adapted the following patch:
bcm53xx/patches-5.15/035-v6.2-0004-ARM-dts-broadcom-align-LED-node-names-with-dtschema.patch

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
20 files changed:
include/kernel-5.15
target/linux/at91/patches-5.15/109-clk-use-clk_core_get_rate_recalc-in-clk_rate_get.patch
target/linux/bcm53xx/patches-5.15/030-v5.16-0019-ARM-dts-BCM53573-Describe-on-SoC-BCM53125-rev-4-swit.patch [deleted file]
target/linux/bcm53xx/patches-5.15/034-v6.0-0001-ARM-dts-broadcom-align-gpio-key-node-names-with-dtsc.patch
target/linux/bcm53xx/patches-5.15/035-v6.2-0004-ARM-dts-broadcom-align-LED-node-names-with-dtschema.patch
target/linux/bcm53xx/patches-5.15/037-v6.6-0004-ARM-dts-BCM53573-Drop-nonexistent-default-off-LED-tr.patch [deleted file]
target/linux/bcm53xx/patches-5.15/037-v6.6-0005-ARM-dts-BCM53573-Drop-nonexistent-usb-cells.patch [deleted file]
target/linux/bcm53xx/patches-5.15/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
target/linux/generic/backport-5.15/020-v6.1-05-mm-multi-gen-LRU-groundwork.patch
target/linux/generic/backport-5.15/346-v5.18-01-Revert-ata-ahci-mvebu-Make-SATA-PHY-optional-for-Arm.patch
target/linux/generic/backport-5.15/775-v6.0-01-net-ethernet-stmicro-stmmac-move-queue-reset-to-dedi.patch
target/linux/generic/backport-5.15/775-v6.0-03-net-ethernet-stmicro-stmmac-move-dma-conf-to-dedicat.patch
target/linux/generic/backport-5.15/775-v6.0-04-net-ethernet-stmicro-stmmac-generate-stmmac-dma-conf.patch
target/linux/generic/hack-5.15/650-netfilter-add-xt_FLOWOFFLOAD-target.patch
target/linux/generic/pending-5.15/700-netfilter-nft_flow_offload-handle-netdevice-events-f.patch
target/linux/generic/pending-5.15/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch
target/linux/lantiq/patches-5.15/0152-lantiq-VPE.patch
target/linux/lantiq/patches-5.15/0155-lantiq-VPE-nosmp.patch
target/linux/lantiq/patches-5.15/0320-v6.1-MIPS-lantiq-enable-all-hardware-interrupts-on-second.patch
target/linux/lantiq/patches-5.15/0321-v6.8-MIPS-lantiq-register-smp_ops-on-non-smp-platforms.patch

index 9ab2d04fc65ccae857a6e977ac64400eab93ebb7..58573657d632563f7faba4da8ebdda18d54146d5 100644 (file)
@@ -1,2 +1,2 @@
-LINUX_VERSION-5.15 = .149
-LINUX_KERNEL_HASH-5.15.149 = bd84809a367eb400eb04e0e70294e6ba12fc03b6bfb5a7dfaca548f8947501b0
+LINUX_VERSION-5.15 = .150
+LINUX_KERNEL_HASH-5.15.150 = ee05592b458e7fcdc515b43605883a10cc2f65f2e2b58d60af8a72b93467e4d4
index 32e760ac17543d880f8003f679eaaef50af2809b..9d9715381ad15ae9d2ce5b4b806788bfe78e735b 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Stephen Boyd <sboyd@kernel.org>
 
 --- a/drivers/clk/clk.c
 +++ b/drivers/clk/clk.c
-@@ -3131,7 +3131,10 @@ static int clk_rate_get(void *data, u64
+@@ -3142,7 +3142,10 @@ static int clk_rate_get(void *data, u64
  {
        struct clk_core *core = data;
  
diff --git a/target/linux/bcm53xx/patches-5.15/030-v5.16-0019-ARM-dts-BCM53573-Describe-on-SoC-BCM53125-rev-4-swit.patch b/target/linux/bcm53xx/patches-5.15/030-v5.16-0019-ARM-dts-BCM53573-Describe-on-SoC-BCM53125-rev-4-swit.patch
deleted file mode 100644 (file)
index 914117c..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-From 9fb90ae6cae7f8fe4fbf626945f32cd9da2c3892 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
-Date: Mon, 20 Sep 2021 16:10:23 +0200
-Subject: [PATCH] ARM: dts: BCM53573: Describe on-SoC BCM53125 rev 4 switch
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-BCM53573 family SoC have Ethernet switch connected to the first Ethernet
-controller (accessible over MDIO).
-
-Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
-Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
----
- arch/arm/boot/dts/bcm53573.dtsi | 18 ++++++++++++++++++
- 1 file changed, 18 insertions(+)
-
---- a/arch/arm/boot/dts/bcm53573.dtsi
-+++ b/arch/arm/boot/dts/bcm53573.dtsi
-@@ -183,6 +183,24 @@
-               gmac0: ethernet@5000 {
-                       reg = <0x5000 0x1000>;
-+
-+                      mdio {
-+                              #address-cells = <1>;
-+                              #size-cells = <0>;
-+
-+                              switch: switch@1e {
-+                                      compatible = "brcm,bcm53125";
-+                                      reg = <0x1e>;
-+
-+                                      status = "disabled";
-+
-+                                      /* ports are defined in board DTS */
-+                                      ports {
-+                                              #address-cells = <1>;
-+                                              #size-cells = <0>;
-+                                      };
-+                              };
-+                      };
-               };
-               gmac1: ethernet@b000 {
index f929dc3b6067a5b2d87679d629b8648086e1d150..1c0708a5f0751e8af3f0167db6f5ddb6fa4102d3 100644 (file)
@@ -781,7 +781,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
                        gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
 --- a/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
 +++ b/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
-@@ -39,7 +39,7 @@
+@@ -38,7 +38,7 @@
        gpio-keys {
                compatible = "gpio-keys";
  
@@ -792,7 +792,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
                        gpios = <&chipcommon 7 GPIO_ACTIVE_LOW>;
 --- a/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
 +++ b/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
-@@ -49,7 +49,7 @@
+@@ -47,7 +47,7 @@
        gpio-keys {
                compatible = "gpio-keys";
  
index d6bf49d0cd212715ffeb5a619bcc288bf452ba7b..a53070a506f83bf761cc067f462e300fca5113f2 100644 (file)
@@ -1514,7 +1514,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
                };
 --- a/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
 +++ b/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
-@@ -23,13 +23,13 @@
+@@ -23,12 +23,12 @@
        leds {
                compatible = "gpio-leds";
  
@@ -1522,7 +1522,6 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
 +              led-wlan {
                        label = "bcm53xx:blue:wlan";
                        gpios = <&chipcommon 10 GPIO_ACTIVE_LOW>;
-                       linux,default-trigger = "default-off";
                };
  
 -              system {
@@ -1532,7 +1531,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
                        linux,default-trigger = "timer";
 --- a/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
 +++ b/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
-@@ -20,26 +20,26 @@
+@@ -20,25 +20,25 @@
                reg = <0x00000000 0x08000000>;
        };
  
@@ -1544,7 +1543,6 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
 +              led-5ghz {
                        label = "bcm53xx:blue:5ghz";
                        gpios = <&chipcommon 11 GPIO_ACTIVE_HIGH>;
-                       linux,default-trigger = "default-off";
                };
  
 -              system {
@@ -1563,7 +1561,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
 +              led-2ghz {
                        label = "bcm53xx:blue:2ghz";
                        gpios = <&pcie0_chipcommon 3 GPIO_ACTIVE_HIGH>;
-                       linux,default-trigger = "default-off";
+               };
 --- a/arch/arm/boot/dts/bcm47189-tenda-ac9.dts
 +++ b/arch/arm/boot/dts/bcm47189-tenda-ac9.dts
 @@ -20,37 +20,37 @@
diff --git a/target/linux/bcm53xx/patches-5.15/037-v6.6-0004-ARM-dts-BCM53573-Drop-nonexistent-default-off-LED-tr.patch b/target/linux/bcm53xx/patches-5.15/037-v6.6-0004-ARM-dts-BCM53573-Drop-nonexistent-default-off-LED-tr.patch
deleted file mode 100644 (file)
index 8bad76e..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-From be7e1e5b0f67c58ec4be0a54db23b6a4fa6e2116 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
-Date: Fri, 7 Jul 2023 13:40:01 +0200
-Subject: [PATCH] ARM: dts: BCM53573: Drop nonexistent "default-off" LED
- trigger
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-There is no such trigger documented or implemented in Linux. It was a
-copy & paste mistake.
-
-This fixes:
-arch/arm/boot/dts/broadcom/bcm47189-luxul-xap-1440.dtb: leds: led-wlan:linux,default-trigger: 'oneOf' conditional failed, one must be fixed:
-        'default-off' is not one of ['backlight', 'default-on', 'heartbeat', 'disk-activity', 'disk-read', 'disk-write', 'timer', 'pattern', 'audio-micmute', 'audio-mute', 'bluetooth-power', 'flash', 'kbd-capslock', 'mtd', 'nand-disk', 'none', 'torch', 'usb-gadget', 'usb-host', 'usbport']
-        'default-off' does not match '^cpu[0-9]*$'
-        'default-off' does not match '^hci[0-9]+-power$'
-        'default-off' does not match '^mmc[0-9]+$'
-        'default-off' does not match '^phy[0-9]+tx$'
-        From schema: Documentation/devicetree/bindings/leds/leds-gpio.yaml
-
-Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
-Link: https://lore.kernel.org/r/20230707114004.2740-1-zajec5@gmail.com
-Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
----
- arch/arm/boot/dts/broadcom/bcm47189-luxul-xap-1440.dts | 1 -
- arch/arm/boot/dts/broadcom/bcm47189-luxul-xap-810.dts  | 2 --
- 2 files changed, 3 deletions(-)
-
---- a/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
-+++ b/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
-@@ -26,7 +26,6 @@
-               led-wlan {
-                       label = "bcm53xx:blue:wlan";
-                       gpios = <&chipcommon 10 GPIO_ACTIVE_LOW>;
--                      linux,default-trigger = "default-off";
-               };
-               led-system {
---- a/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
-+++ b/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
-@@ -26,7 +26,6 @@
-               led-5ghz {
-                       label = "bcm53xx:blue:5ghz";
-                       gpios = <&chipcommon 11 GPIO_ACTIVE_HIGH>;
--                      linux,default-trigger = "default-off";
-               };
-               led-system {
-@@ -42,7 +41,6 @@
-               led-2ghz {
-                       label = "bcm53xx:blue:2ghz";
-                       gpios = <&pcie0_chipcommon 3 GPIO_ACTIVE_HIGH>;
--                      linux,default-trigger = "default-off";
-               };
-       };
diff --git a/target/linux/bcm53xx/patches-5.15/037-v6.6-0005-ARM-dts-BCM53573-Drop-nonexistent-usb-cells.patch b/target/linux/bcm53xx/patches-5.15/037-v6.6-0005-ARM-dts-BCM53573-Drop-nonexistent-usb-cells.patch
deleted file mode 100644 (file)
index e7a1835..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-From 05d2c3d552b8c92fc397377d9d1112fc58e2cd59 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
-Date: Fri, 7 Jul 2023 13:40:02 +0200
-Subject: [PATCH] ARM: dts: BCM53573: Drop nonexistent #usb-cells
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Such property simply doesn't exist (is not documented or used anywhere).
-
-This fixes:
-arch/arm/boot/dts/broadcom/bcm47189-luxul-xap-1440.dtb: usb@d000: Unevaluated properties are not allowed ('#usb-cells' was unexpected)
-        From schema: Documentation/devicetree/bindings/usb/generic-ohci.yaml
-
-Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
-Link: https://lore.kernel.org/r/20230707114004.2740-2-zajec5@gmail.com
-Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
----
- arch/arm/boot/dts/broadcom/bcm53573.dtsi | 2 --
- 1 file changed, 2 deletions(-)
-
---- a/arch/arm/boot/dts/bcm53573.dtsi
-+++ b/arch/arm/boot/dts/bcm53573.dtsi
-@@ -159,8 +159,6 @@
-                       };
-                       ohci: usb@d000 {
--                              #usb-cells = <0>;
--
-                               compatible = "generic-ohci";
-                               reg = <0xd000 0x1000>;
-                               interrupt-parent = <&gic>;
index 49277ab251f6472121f8c8952d5e7b1d68a42268..1d3a21b6cdd7825ed14d19502a980550b9f1bbf5 100644 (file)
@@ -109,7 +109,7 @@ it on BCM4708 family.
  
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1908,6 +1908,7 @@ struct xhci_hcd {
+@@ -1907,6 +1907,7 @@ struct xhci_hcd {
  #define XHCI_RESET_TO_DEFAULT BIT_ULL(44)
  #define XHCI_ZHAOXIN_TRB_FETCH        BIT_ULL(45)
  #define XHCI_ZHAOXIN_HOST     BIT_ULL(46)
index 769384f500f301a1eda295b721c6144199bac189..969d721da61523b2a6e9eb0ff85ecb37b290bd8a 100644 (file)
@@ -538,7 +538,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
        (1UL << PG_private | 1UL << PG_private_2)
 --- a/include/linux/sched.h
 +++ b/include/linux/sched.h
-@@ -911,6 +911,10 @@ struct task_struct {
+@@ -907,6 +907,10 @@ struct task_struct {
  #ifdef CONFIG_MEMCG
        unsigned                        in_user_fault:1;
  #endif
index f225a2105701945afde0f17ef2b702cfc0e165a2..35bc19c1ef5d6c7a351f5e1e0283d9ce7e4a3c71 100644 (file)
@@ -31,15 +31,15 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
 
 --- a/drivers/ata/ahci.h
 +++ b/drivers/ata/ahci.h
-@@ -241,8 +241,6 @@ enum {
+@@ -240,8 +240,6 @@ enum {
                                                      as default lpm_policy */
        AHCI_HFLAG_SUSPEND_PHYS         = BIT(26), /* handle PHYs during
                                                      suspend/resume */
 -      AHCI_HFLAG_IGN_NOTSUPP_POWER_ON = BIT(27), /* ignore -EOPNOTSUPP
 -                                                    from phy_power_on() */
        AHCI_HFLAG_NO_SXS               = BIT(28), /* SXS not supported */
+       AHCI_HFLAG_43BIT_ONLY           = BIT(29), /* 43bit DMA addr limit */
  
-       /* ap->flags bits */
 --- a/drivers/ata/ahci_mvebu.c
 +++ b/drivers/ata/ahci_mvebu.c
 @@ -227,7 +227,7 @@ static const struct ahci_mvebu_plat_data
index 7742c4a9580081b185bb3d72703411a0652ac581..32dab26eb5adb2f8fb9430368571a40eed2d99c4 100644 (file)
@@ -71,7 +71,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        ret = stmmac_hw_setup(dev, true);
        if (ret < 0) {
                netdev_err(priv->dev, "%s: Hw setup failed\n", __func__);
-@@ -6430,6 +6423,7 @@ void stmmac_enable_rx_queue(struct stmma
+@@ -6410,6 +6403,7 @@ void stmmac_enable_rx_queue(struct stmma
                return;
        }
  
@@ -79,7 +79,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        stmmac_clear_rx_descriptors(priv, queue);
  
        stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
-@@ -6491,6 +6485,7 @@ void stmmac_enable_tx_queue(struct stmma
+@@ -6471,6 +6465,7 @@ void stmmac_enable_tx_queue(struct stmma
                return;
        }
  
@@ -87,7 +87,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        stmmac_clear_tx_descriptors(priv, queue);
  
        stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
-@@ -7418,6 +7413,25 @@ int stmmac_suspend(struct device *dev)
+@@ -7398,6 +7393,25 @@ int stmmac_suspend(struct device *dev)
  }
  EXPORT_SYMBOL_GPL(stmmac_suspend);
  
@@ -113,7 +113,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  /**
   * stmmac_reset_queues_param - reset queue parameters
   * @priv: device pointer
-@@ -7428,22 +7442,11 @@ static void stmmac_reset_queues_param(st
+@@ -7408,22 +7422,11 @@ static void stmmac_reset_queues_param(st
        u32 tx_cnt = priv->plat->tx_queues_to_use;
        u32 queue;
  
index e259668b86b854488f936cda0fa59682f58c51f8..0f8ca79d60db619225e83a9138efbfff83f7ae4c 100644 (file)
@@ -1033,7 +1033,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
                        /* Data payload appended into SKB */
                        page_pool_release_page(rx_q->page_pool, buf->sec_page);
-@@ -5768,11 +5768,13 @@ static irqreturn_t stmmac_safety_interru
+@@ -5758,11 +5758,13 @@ static irqreturn_t stmmac_safety_interru
  static irqreturn_t stmmac_msi_intr_tx(int irq, void *data)
  {
        struct stmmac_tx_queue *tx_q = (struct stmmac_tx_queue *)data;
@@ -1046,9 +1046,9 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 +      dma_conf = container_of(tx_q, struct stmmac_dma_conf, tx_queue[chan]);
 +      priv = container_of(dma_conf, struct stmmac_priv, dma_conf);
  
-       if (unlikely(!data)) {
-               netdev_err(priv->dev, "%s: invalid dev pointer\n", __func__);
-@@ -5812,10 +5814,12 @@ static irqreturn_t stmmac_msi_intr_tx(in
+       /* Check if adapter is up */
+       if (test_bit(STMMAC_DOWN, &priv->state))
+@@ -5797,10 +5799,12 @@ static irqreturn_t stmmac_msi_intr_tx(in
  static irqreturn_t stmmac_msi_intr_rx(int irq, void *data)
  {
        struct stmmac_rx_queue *rx_q = (struct stmmac_rx_queue *)data;
@@ -1060,9 +1060,9 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 +      dma_conf = container_of(rx_q, struct stmmac_dma_conf, rx_queue[chan]);
 +      priv = container_of(dma_conf, struct stmmac_priv, dma_conf);
  
-       if (unlikely(!data)) {
-               netdev_err(priv->dev, "%s: invalid dev pointer\n", __func__);
-@@ -5846,10 +5850,10 @@ static void stmmac_poll_controller(struc
+       /* Check if adapter is up */
+       if (test_bit(STMMAC_DOWN, &priv->state))
+@@ -5826,10 +5830,10 @@ static void stmmac_poll_controller(struc
  
        if (priv->plat->multi_msi_en) {
                for (i = 0; i < priv->plat->rx_queues_to_use; i++)
@@ -1075,7 +1075,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        } else {
                disable_irq(dev->irq);
                stmmac_interrupt(dev->irq, dev);
-@@ -6030,34 +6034,34 @@ static int stmmac_rings_status_show(stru
+@@ -6010,34 +6014,34 @@ static int stmmac_rings_status_show(stru
                return 0;
  
        for (queue = 0; queue < rx_count; queue++) {
@@ -1116,7 +1116,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                }
        }
  
-@@ -6404,7 +6408,7 @@ void stmmac_disable_rx_queue(struct stmm
+@@ -6384,7 +6388,7 @@ void stmmac_disable_rx_queue(struct stmm
  
  void stmmac_enable_rx_queue(struct stmmac_priv *priv, u32 queue)
  {
@@ -1125,7 +1125,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        struct stmmac_channel *ch = &priv->channel[queue];
        unsigned long flags;
        u32 buf_size;
-@@ -6441,7 +6445,7 @@ void stmmac_enable_rx_queue(struct stmma
+@@ -6421,7 +6425,7 @@ void stmmac_enable_rx_queue(struct stmma
                                      rx_q->queue_index);
        } else {
                stmmac_set_dma_bfsize(priv, priv->ioaddr,
@@ -1134,7 +1134,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                                      rx_q->queue_index);
        }
  
-@@ -6467,7 +6471,7 @@ void stmmac_disable_tx_queue(struct stmm
+@@ -6447,7 +6451,7 @@ void stmmac_disable_tx_queue(struct stmm
  
  void stmmac_enable_tx_queue(struct stmmac_priv *priv, u32 queue)
  {
@@ -1143,7 +1143,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        struct stmmac_channel *ch = &priv->channel[queue];
        unsigned long flags;
        int ret;
-@@ -6517,7 +6521,7 @@ void stmmac_xdp_release(struct net_devic
+@@ -6497,7 +6501,7 @@ void stmmac_xdp_release(struct net_devic
        stmmac_disable_all_queues(priv);
  
        for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
@@ -1152,7 +1152,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        /* Free the IRQ lines */
        stmmac_free_irq(dev, REQ_IRQ_ERR_ALL, 0);
-@@ -6576,7 +6580,7 @@ int stmmac_xdp_open(struct net_device *d
+@@ -6556,7 +6560,7 @@ int stmmac_xdp_open(struct net_device *d
  
        /* DMA RX Channel Configuration */
        for (chan = 0; chan < rx_cnt; chan++) {
@@ -1161,7 +1161,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
                stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
                                    rx_q->dma_rx_phy, chan);
-@@ -6594,7 +6598,7 @@ int stmmac_xdp_open(struct net_device *d
+@@ -6574,7 +6578,7 @@ int stmmac_xdp_open(struct net_device *d
                                              rx_q->queue_index);
                } else {
                        stmmac_set_dma_bfsize(priv, priv->ioaddr,
@@ -1170,7 +1170,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                                              rx_q->queue_index);
                }
  
-@@ -6603,7 +6607,7 @@ int stmmac_xdp_open(struct net_device *d
+@@ -6583,7 +6587,7 @@ int stmmac_xdp_open(struct net_device *d
  
        /* DMA TX Channel Configuration */
        for (chan = 0; chan < tx_cnt; chan++) {
@@ -1179,7 +1179,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
                stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
                                    tx_q->dma_tx_phy, chan);
-@@ -6636,7 +6640,7 @@ int stmmac_xdp_open(struct net_device *d
+@@ -6616,7 +6620,7 @@ int stmmac_xdp_open(struct net_device *d
  
  irq_error:
        for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
@@ -1188,7 +1188,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        stmmac_hw_teardown(dev);
  init_error:
-@@ -6663,8 +6667,8 @@ int stmmac_xsk_wakeup(struct net_device
+@@ -6643,8 +6647,8 @@ int stmmac_xsk_wakeup(struct net_device
            queue >= priv->plat->tx_queues_to_use)
                return -EINVAL;
  
@@ -1199,7 +1199,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        ch = &priv->channel[queue];
  
        if (!rx_q->xsk_pool && !tx_q->xsk_pool)
-@@ -6924,8 +6928,8 @@ int stmmac_reinit_ringparam(struct net_d
+@@ -6904,8 +6908,8 @@ int stmmac_reinit_ringparam(struct net_d
        if (netif_running(dev))
                stmmac_release(dev);
  
@@ -1210,7 +1210,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        if (netif_running(dev))
                ret = stmmac_open(dev);
-@@ -7363,7 +7367,7 @@ int stmmac_suspend(struct device *dev)
+@@ -7343,7 +7347,7 @@ int stmmac_suspend(struct device *dev)
        stmmac_disable_all_queues(priv);
  
        for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
@@ -1219,7 +1219,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        if (priv->eee_enabled) {
                priv->tx_path_in_lpi_mode = false;
-@@ -7415,7 +7419,7 @@ EXPORT_SYMBOL_GPL(stmmac_suspend);
+@@ -7395,7 +7399,7 @@ EXPORT_SYMBOL_GPL(stmmac_suspend);
  
  static void stmmac_reset_rx_queue(struct stmmac_priv *priv, u32 queue)
  {
@@ -1228,7 +1228,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        rx_q->cur_rx = 0;
        rx_q->dirty_rx = 0;
-@@ -7423,7 +7427,7 @@ static void stmmac_reset_rx_queue(struct
+@@ -7403,7 +7407,7 @@ static void stmmac_reset_rx_queue(struct
  
  static void stmmac_reset_tx_queue(struct stmmac_priv *priv, u32 queue)
  {
index e82f6d6943c2cc310c9f0c0352986cf57d05944c..b3ca0d5c7103b4b366cc300e6d5b225efbb0738a 100644 (file)
@@ -1045,7 +1045,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        /* Disable the MAC Rx/Tx */
        stmmac_mac_set(priv, priv->ioaddr, false);
-@@ -6403,7 +6519,7 @@ void stmmac_disable_rx_queue(struct stmm
+@@ -6383,7 +6499,7 @@ void stmmac_disable_rx_queue(struct stmm
        spin_unlock_irqrestore(&ch->lock, flags);
  
        stmmac_stop_rx_dma(priv, queue);
@@ -1054,7 +1054,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  }
  
  void stmmac_enable_rx_queue(struct stmmac_priv *priv, u32 queue)
-@@ -6414,21 +6530,21 @@ void stmmac_enable_rx_queue(struct stmma
+@@ -6394,21 +6510,21 @@ void stmmac_enable_rx_queue(struct stmma
        u32 buf_size;
        int ret;
  
@@ -1080,7 +1080,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
                            rx_q->dma_rx_phy, rx_q->queue_index);
-@@ -6466,7 +6582,7 @@ void stmmac_disable_tx_queue(struct stmm
+@@ -6446,7 +6562,7 @@ void stmmac_disable_tx_queue(struct stmm
        spin_unlock_irqrestore(&ch->lock, flags);
  
        stmmac_stop_tx_dma(priv, queue);
@@ -1089,7 +1089,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  }
  
  void stmmac_enable_tx_queue(struct stmmac_priv *priv, u32 queue)
-@@ -6476,21 +6592,21 @@ void stmmac_enable_tx_queue(struct stmma
+@@ -6456,21 +6572,21 @@ void stmmac_enable_tx_queue(struct stmma
        unsigned long flags;
        int ret;
  
@@ -1115,7 +1115,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
                            tx_q->dma_tx_phy, tx_q->queue_index);
-@@ -6530,7 +6646,7 @@ void stmmac_xdp_release(struct net_devic
+@@ -6510,7 +6626,7 @@ void stmmac_xdp_release(struct net_devic
        stmmac_stop_all_dma(priv);
  
        /* Release and free the Rx/Tx resources */
@@ -1124,7 +1124,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        /* Disable the MAC Rx/Tx */
        stmmac_mac_set(priv, priv->ioaddr, false);
-@@ -6555,14 +6671,14 @@ int stmmac_xdp_open(struct net_device *d
+@@ -6535,14 +6651,14 @@ int stmmac_xdp_open(struct net_device *d
        u32 chan;
        int ret;
  
@@ -1141,7 +1141,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        if (ret < 0) {
                netdev_err(dev, "%s: DMA descriptors initialization failed\n",
                           __func__);
-@@ -6644,7 +6760,7 @@ irq_error:
+@@ -6624,7 +6740,7 @@ irq_error:
  
        stmmac_hw_teardown(dev);
  init_error:
@@ -1150,7 +1150,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  dma_desc_error:
        return ret;
  }
-@@ -7510,7 +7626,7 @@ int stmmac_resume(struct device *dev)
+@@ -7490,7 +7606,7 @@ int stmmac_resume(struct device *dev)
        stmmac_reset_queues_param(priv);
  
        stmmac_free_tx_skbufs(priv);
index aa6c668558ab938f3c2aa3af1eb2b569f7d41eab..da603344980cfab7172752988f476187609933a6 100644 (file)
@@ -98,7 +98,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  obj-$(CONFIG_NETFILTER_XT_TARGET_LED) += xt_LED.o
 --- /dev/null
 +++ b/net/netfilter/xt_FLOWOFFLOAD.c
-@@ -0,0 +1,698 @@
+@@ -0,0 +1,701 @@
 +/*
 + * Copyright (C) 2018-2021 Felix Fietkau <nbd@nbd.name>
 + *
@@ -544,9 +544,14 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +              break;
 +      }
 +
++      if (!dst_hold_safe(this_dst))
++              return -ENOENT;
++
 +      nf_route(xt_net(par), &other_dst, &fl, false, xt_family(par));
-+      if (!other_dst)
++      if (!other_dst) {
++              dst_release(this_dst);
 +              return -ENOENT;
++      }
 +
 +      nf_default_forward_path(route, this_dst, dir, devs);
 +      nf_default_forward_path(route, other_dst, !dir, devs);
@@ -622,8 +627,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +      if (!flow)
 +              goto err_flow_alloc;
 +
-+      if (flow_offload_route_init(flow, &route) < 0)
-+              goto err_flow_add;
++      flow_offload_route_init(flow, &route);
 +
 +      if (tcph) {
 +              ct->proto.tcp.seen[0].flags |= IP_CT_TCP_FLAG_BE_LIBERAL;
@@ -642,13 +646,12 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +      xt_flowoffload_check_device(table, devs[0]);
 +      xt_flowoffload_check_device(table, devs[1]);
 +
-+      dst_release(route.tuple[!dir].dst);
-+
 +      return XT_CONTINUE;
 +
 +err_flow_add:
 +      flow_offload_free(flow);
 +err_flow_alloc:
++      dst_release(route.tuple[dir].dst);
 +      dst_release(route.tuple[!dir].dst);
 +err_flow_route:
 +      clear_bit(IPS_OFFLOAD_BIT, &ct->status);
@@ -807,7 +810,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #include <net/netfilter/nf_flow_table.h>
  #include <net/netfilter/nf_conntrack.h>
  #include <net/netfilter/nf_conntrack_core.h>
-@@ -380,8 +379,7 @@ flow_offload_lookup(struct nf_flowtable
+@@ -373,8 +372,7 @@ flow_offload_lookup(struct nf_flowtable
  }
  EXPORT_SYMBOL_GPL(flow_offload_lookup);
  
@@ -817,7 +820,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                      void (*iter)(struct nf_flowtable *flowtable,
                                   struct flow_offload *flow, void *data),
                      void *data)
-@@ -435,6 +433,7 @@ static void nf_flow_offload_gc_step(stru
+@@ -428,6 +426,7 @@ static void nf_flow_offload_gc_step(stru
                nf_flow_offload_stats(flow_table, flow);
        }
  }
index df5bef9fcd18bd71b15ab0c5fb2bae7f8094c295..8c7555403383214e4590fdac3613f0188e7b27a0 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
 
 --- a/net/netfilter/nf_flow_table_core.c
 +++ b/net/netfilter/nf_flow_table_core.c
-@@ -613,13 +613,41 @@ void nf_flow_table_free(struct nf_flowta
+@@ -606,13 +606,41 @@ void nf_flow_table_free(struct nf_flowta
  }
  EXPORT_SYMBOL_GPL(nf_flow_table_free);
  
@@ -55,7 +55,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  
 --- a/net/netfilter/nft_flow_offload.c
 +++ b/net/netfilter/nft_flow_offload.c
-@@ -451,47 +451,14 @@ static struct nft_expr_type nft_flow_off
+@@ -455,47 +455,14 @@ static struct nft_expr_type nft_flow_off
        .owner          = THIS_MODULE,
  };
  
index 69ff9d579724c0d962265cb08d9b06fb39b895e0..196beffecf4ced378a5d0f2aa2989afe6229b34f 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/net/netfilter/nf_tables_api.c
 +++ b/net/netfilter/nf_tables_api.c
-@@ -7760,7 +7760,7 @@ static int nft_register_flowtable_net_ho
+@@ -7763,7 +7763,7 @@ static int nft_register_flowtable_net_ho
                err = flowtable->data.type->setup(&flowtable->data,
                                                  hook->ops.dev,
                                                  FLOW_BLOCK_BIND);
index e6a1361022776fa00d6280cb78242dbfa8927123..00917331c214a79a3f78435896d98fb0f0e15d9f 100644 (file)
@@ -51,7 +51,7 @@ Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
  #define read_vpe_c0_status()          mftc0(12, 0)
 --- a/arch/mips/include/asm/vpe.h
 +++ b/arch/mips/include/asm/vpe.h
-@@ -124,4 +124,13 @@ void cleanup_tc(struct tc *tc);
+@@ -123,4 +123,13 @@ void cleanup_tc(struct tc *tc);
  
  int __init vpe_module_init(void);
  void __exit vpe_module_exit(void);
@@ -75,7 +75,7 @@ Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
  
        /* check we are the Master VPE */
        local_irq_save(flags);
-@@ -416,6 +417,8 @@ int __init vpe_module_init(void)
+@@ -415,6 +416,8 @@ int __init vpe_module_init(void)
                        }
  
                        v->ntcs = hw_tcs - aprp_cpu_index();
@@ -84,7 +84,7 @@ Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
  
                        /* add the tc to the list of this vpe's tc's. */
                        list_add(&t->tc, &v->tc);
-@@ -519,3 +522,47 @@ void __exit vpe_module_exit(void)
+@@ -518,3 +521,47 @@ void __exit vpe_module_exit(void)
                        release_vpe(v);
        }
  }
@@ -178,7 +178,7 @@ Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
  {
 --- a/arch/mips/lantiq/prom.c
 +++ b/arch/mips/lantiq/prom.c
-@@ -34,10 +34,14 @@ unsigned long physical_memsize = 0L;
+@@ -28,10 +28,14 @@ EXPORT_SYMBOL_GPL(ebu_lock);
   */
  static struct ltq_soc_info soc_info;
  
index 6562dc8bdab7bea96683b3fff6201fa83ff6d146..015acabcfe1ec992df9db8c1a179f17c8782f7db 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
 
 --- a/arch/mips/kernel/vpe-mt.c
 +++ b/arch/mips/kernel/vpe-mt.c
-@@ -132,7 +132,10 @@ int vpe_run(struct vpe *v)
+@@ -131,7 +131,10 @@ int vpe_run(struct vpe *v)
         * kernels need to turn it on, even if that wasn't the pre-dvpe() state.
         */
  #ifdef CONFIG_SMP
index d83a3616b355eb2b42e13e884bedb93aea8d4808..d98664c478eef75185386bc73a38f9466fc26236 100644 (file)
@@ -39,7 +39,7 @@ Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
 
 --- a/arch/mips/lantiq/prom.c
 +++ b/arch/mips/lantiq/prom.c
-@@ -37,6 +37,14 @@ static struct ltq_soc_info soc_info;
+@@ -31,6 +31,14 @@ static struct ltq_soc_info soc_info;
  /* for Multithreading (APRP), vpe.c will use it */
  unsigned long cp0_memsize;
  
@@ -54,7 +54,7 @@ Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  const char *get_system_type(void)
  {
        return soc_info.sys_type;
-@@ -93,6 +101,17 @@ void __init device_tree_init(void)
+@@ -87,6 +95,17 @@ void __init device_tree_init(void)
        unflatten_and_copy_device_tree();
  }
  
@@ -72,7 +72,7 @@ Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  void __init prom_init(void)
  {
        /* call the soc specific detetcion code and get it to fill soc_info */
-@@ -104,7 +123,10 @@ void __init prom_init(void)
+@@ -98,7 +117,10 @@ void __init prom_init(void)
        prom_init_cmdline();
  
  #if defined(CONFIG_MIPS_MT_SMP)
index 5339350e2f863f1fc3a58b977249fdefe8ff5675..1acf73b2d50bb8b7fbeb984279564952cab1bcbf 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
 
 --- a/arch/mips/lantiq/prom.c
 +++ b/arch/mips/lantiq/prom.c
-@@ -123,10 +123,9 @@ void __init prom_init(void)
+@@ -117,10 +117,9 @@ void __init prom_init(void)
        prom_init_cmdline();
  
  #if defined(CONFIG_MIPS_MT_SMP)