mirror of
https://github.com/openwrt/openwrt.git
synced 2025-03-14 00:06:46 +00:00
kernel: bump 5.15 to 5.15.150
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>
This commit is contained in:
parent
26d1d52403
commit
387fde0da0
@ -1,2 +1,2 @@
|
|||||||
LINUX_VERSION-5.15 = .149
|
LINUX_VERSION-5.15 = .150
|
||||||
LINUX_KERNEL_HASH-5.15.149 = bd84809a367eb400eb04e0e70294e6ba12fc03b6bfb5a7dfaca548f8947501b0
|
LINUX_KERNEL_HASH-5.15.150 = ee05592b458e7fcdc515b43605883a10cc2f65f2e2b58d60af8a72b93467e4d4
|
||||||
|
@ -18,7 +18,7 @@ Signed-off-by: Stephen Boyd <sboyd@kernel.org>
|
|||||||
|
|
||||||
--- a/drivers/clk/clk.c
|
--- a/drivers/clk/clk.c
|
||||||
+++ b/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;
|
struct clk_core *core = data;
|
||||||
|
|
||||||
|
@ -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 {
|
|
@ -781,7 +781,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
|||||||
gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
|
gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
|
||||||
--- a/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
|
--- a/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
|
||||||
+++ b/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 {
|
gpio-keys {
|
||||||
compatible = "gpio-keys";
|
compatible = "gpio-keys";
|
||||||
|
|
||||||
@ -792,7 +792,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
|||||||
gpios = <&chipcommon 7 GPIO_ACTIVE_LOW>;
|
gpios = <&chipcommon 7 GPIO_ACTIVE_LOW>;
|
||||||
--- a/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
|
--- a/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
|
||||||
+++ b/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 {
|
gpio-keys {
|
||||||
compatible = "gpio-keys";
|
compatible = "gpio-keys";
|
||||||
|
|
||||||
|
@ -1514,7 +1514,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
|||||||
};
|
};
|
||||||
--- a/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
|
--- a/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
|
||||||
+++ b/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 {
|
leds {
|
||||||
compatible = "gpio-leds";
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
@ -1522,7 +1522,6 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
|||||||
+ led-wlan {
|
+ led-wlan {
|
||||||
label = "bcm53xx:blue:wlan";
|
label = "bcm53xx:blue:wlan";
|
||||||
gpios = <&chipcommon 10 GPIO_ACTIVE_LOW>;
|
gpios = <&chipcommon 10 GPIO_ACTIVE_LOW>;
|
||||||
linux,default-trigger = "default-off";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
- system {
|
- system {
|
||||||
@ -1532,7 +1531,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
|||||||
linux,default-trigger = "timer";
|
linux,default-trigger = "timer";
|
||||||
--- a/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
|
--- a/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
|
||||||
+++ b/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>;
|
reg = <0x00000000 0x08000000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1544,7 +1543,6 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
|||||||
+ led-5ghz {
|
+ led-5ghz {
|
||||||
label = "bcm53xx:blue:5ghz";
|
label = "bcm53xx:blue:5ghz";
|
||||||
gpios = <&chipcommon 11 GPIO_ACTIVE_HIGH>;
|
gpios = <&chipcommon 11 GPIO_ACTIVE_HIGH>;
|
||||||
linux,default-trigger = "default-off";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
- system {
|
- system {
|
||||||
@ -1563,7 +1561,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
|||||||
+ led-2ghz {
|
+ led-2ghz {
|
||||||
label = "bcm53xx:blue:2ghz";
|
label = "bcm53xx:blue:2ghz";
|
||||||
gpios = <&pcie0_chipcommon 3 GPIO_ACTIVE_HIGH>;
|
gpios = <&pcie0_chipcommon 3 GPIO_ACTIVE_HIGH>;
|
||||||
linux,default-trigger = "default-off";
|
};
|
||||||
--- a/arch/arm/boot/dts/bcm47189-tenda-ac9.dts
|
--- a/arch/arm/boot/dts/bcm47189-tenda-ac9.dts
|
||||||
+++ b/arch/arm/boot/dts/bcm47189-tenda-ac9.dts
|
+++ b/arch/arm/boot/dts/bcm47189-tenda-ac9.dts
|
||||||
@@ -20,37 +20,37 @@
|
@@ -20,37 +20,37 @@
|
||||||
|
@ -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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
@ -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>;
|
|
@ -109,7 +109,7 @@ it on BCM4708 family.
|
|||||||
|
|
||||||
--- a/drivers/usb/host/xhci.h
|
--- a/drivers/usb/host/xhci.h
|
||||||
+++ b/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_RESET_TO_DEFAULT BIT_ULL(44)
|
||||||
#define XHCI_ZHAOXIN_TRB_FETCH BIT_ULL(45)
|
#define XHCI_ZHAOXIN_TRB_FETCH BIT_ULL(45)
|
||||||
#define XHCI_ZHAOXIN_HOST BIT_ULL(46)
|
#define XHCI_ZHAOXIN_HOST BIT_ULL(46)
|
||||||
|
@ -538,7 +538,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
|
|||||||
(1UL << PG_private | 1UL << PG_private_2)
|
(1UL << PG_private | 1UL << PG_private_2)
|
||||||
--- a/include/linux/sched.h
|
--- a/include/linux/sched.h
|
||||||
+++ b/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
|
#ifdef CONFIG_MEMCG
|
||||||
unsigned in_user_fault:1;
|
unsigned in_user_fault:1;
|
||||||
#endif
|
#endif
|
||||||
|
@ -31,15 +31,15 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
|||||||
|
|
||||||
--- a/drivers/ata/ahci.h
|
--- a/drivers/ata/ahci.h
|
||||||
+++ b/drivers/ata/ahci.h
|
+++ b/drivers/ata/ahci.h
|
||||||
@@ -241,8 +241,6 @@ enum {
|
@@ -240,8 +240,6 @@ enum {
|
||||||
as default lpm_policy */
|
as default lpm_policy */
|
||||||
AHCI_HFLAG_SUSPEND_PHYS = BIT(26), /* handle PHYs during
|
AHCI_HFLAG_SUSPEND_PHYS = BIT(26), /* handle PHYs during
|
||||||
suspend/resume */
|
suspend/resume */
|
||||||
- AHCI_HFLAG_IGN_NOTSUPP_POWER_ON = BIT(27), /* ignore -EOPNOTSUPP
|
- AHCI_HFLAG_IGN_NOTSUPP_POWER_ON = BIT(27), /* ignore -EOPNOTSUPP
|
||||||
- from phy_power_on() */
|
- from phy_power_on() */
|
||||||
AHCI_HFLAG_NO_SXS = BIT(28), /* SXS not supported */
|
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
|
--- a/drivers/ata/ahci_mvebu.c
|
||||||
+++ b/drivers/ata/ahci_mvebu.c
|
+++ b/drivers/ata/ahci_mvebu.c
|
||||||
@@ -227,7 +227,7 @@ static const struct ahci_mvebu_plat_data
|
@@ -227,7 +227,7 @@ static const struct ahci_mvebu_plat_data
|
||||||
|
@ -71,7 +71,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
ret = stmmac_hw_setup(dev, true);
|
ret = stmmac_hw_setup(dev, true);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
netdev_err(priv->dev, "%s: Hw setup failed\n", __func__);
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
stmmac_clear_rx_descriptors(priv, queue);
|
stmmac_clear_rx_descriptors(priv, queue);
|
||||||
|
|
||||||
stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,7 +87,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
stmmac_clear_tx_descriptors(priv, queue);
|
stmmac_clear_tx_descriptors(priv, queue);
|
||||||
|
|
||||||
stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
|
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);
|
EXPORT_SYMBOL_GPL(stmmac_suspend);
|
||||||
|
|
||||||
@ -113,7 +113,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
/**
|
/**
|
||||||
* stmmac_reset_queues_param - reset queue parameters
|
* stmmac_reset_queues_param - reset queue parameters
|
||||||
* @priv: device pointer
|
* @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 tx_cnt = priv->plat->tx_queues_to_use;
|
||||||
u32 queue;
|
u32 queue;
|
||||||
|
|
||||||
|
@ -1033,7 +1033,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
|
|
||||||
/* Data payload appended into SKB */
|
/* Data payload appended into SKB */
|
||||||
page_pool_release_page(rx_q->page_pool, buf->sec_page);
|
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)
|
static irqreturn_t stmmac_msi_intr_tx(int irq, void *data)
|
||||||
{
|
{
|
||||||
struct stmmac_tx_queue *tx_q = (struct stmmac_tx_queue *)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]);
|
+ dma_conf = container_of(tx_q, struct stmmac_dma_conf, tx_queue[chan]);
|
||||||
+ priv = container_of(dma_conf, struct stmmac_priv, dma_conf);
|
+ priv = container_of(dma_conf, struct stmmac_priv, dma_conf);
|
||||||
|
|
||||||
if (unlikely(!data)) {
|
/* Check if adapter is up */
|
||||||
netdev_err(priv->dev, "%s: invalid dev pointer\n", __func__);
|
if (test_bit(STMMAC_DOWN, &priv->state))
|
||||||
@@ -5812,10 +5814,12 @@ static irqreturn_t stmmac_msi_intr_tx(in
|
@@ -5797,10 +5799,12 @@ static irqreturn_t stmmac_msi_intr_tx(in
|
||||||
static irqreturn_t stmmac_msi_intr_rx(int irq, void *data)
|
static irqreturn_t stmmac_msi_intr_rx(int irq, void *data)
|
||||||
{
|
{
|
||||||
struct stmmac_rx_queue *rx_q = (struct stmmac_rx_queue *)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]);
|
+ dma_conf = container_of(rx_q, struct stmmac_dma_conf, rx_queue[chan]);
|
||||||
+ priv = container_of(dma_conf, struct stmmac_priv, dma_conf);
|
+ priv = container_of(dma_conf, struct stmmac_priv, dma_conf);
|
||||||
|
|
||||||
if (unlikely(!data)) {
|
/* Check if adapter is up */
|
||||||
netdev_err(priv->dev, "%s: invalid dev pointer\n", __func__);
|
if (test_bit(STMMAC_DOWN, &priv->state))
|
||||||
@@ -5846,10 +5850,10 @@ static void stmmac_poll_controller(struc
|
@@ -5826,10 +5830,10 @@ static void stmmac_poll_controller(struc
|
||||||
|
|
||||||
if (priv->plat->multi_msi_en) {
|
if (priv->plat->multi_msi_en) {
|
||||||
for (i = 0; i < priv->plat->rx_queues_to_use; i++)
|
for (i = 0; i < priv->plat->rx_queues_to_use; i++)
|
||||||
@ -1075,7 +1075,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
} else {
|
} else {
|
||||||
disable_irq(dev->irq);
|
disable_irq(dev->irq);
|
||||||
stmmac_interrupt(dev->irq, dev);
|
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;
|
return 0;
|
||||||
|
|
||||||
for (queue = 0; queue < rx_count; queue++) {
|
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)
|
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];
|
struct stmmac_channel *ch = &priv->channel[queue];
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
u32 buf_size;
|
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);
|
rx_q->queue_index);
|
||||||
} else {
|
} else {
|
||||||
stmmac_set_dma_bfsize(priv, priv->ioaddr,
|
stmmac_set_dma_bfsize(priv, priv->ioaddr,
|
||||||
@ -1134,7 +1134,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
rx_q->queue_index);
|
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)
|
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];
|
struct stmmac_channel *ch = &priv->channel[queue];
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
int ret;
|
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);
|
stmmac_disable_all_queues(priv);
|
||||||
|
|
||||||
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
|
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 */
|
/* Free the IRQ lines */
|
||||||
stmmac_free_irq(dev, REQ_IRQ_ERR_ALL, 0);
|
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 */
|
/* DMA RX Channel Configuration */
|
||||||
for (chan = 0; chan < rx_cnt; chan++) {
|
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,
|
stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
|
||||||
rx_q->dma_rx_phy, chan);
|
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);
|
rx_q->queue_index);
|
||||||
} else {
|
} else {
|
||||||
stmmac_set_dma_bfsize(priv, priv->ioaddr,
|
stmmac_set_dma_bfsize(priv, priv->ioaddr,
|
||||||
@ -1170,7 +1170,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
rx_q->queue_index);
|
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 */
|
/* DMA TX Channel Configuration */
|
||||||
for (chan = 0; chan < tx_cnt; chan++) {
|
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,
|
stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
|
||||||
tx_q->dma_tx_phy, chan);
|
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:
|
irq_error:
|
||||||
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
|
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);
|
stmmac_hw_teardown(dev);
|
||||||
init_error:
|
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)
|
queue >= priv->plat->tx_queues_to_use)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
@ -1199,7 +1199,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
ch = &priv->channel[queue];
|
ch = &priv->channel[queue];
|
||||||
|
|
||||||
if (!rx_q->xsk_pool && !tx_q->xsk_pool)
|
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))
|
if (netif_running(dev))
|
||||||
stmmac_release(dev);
|
stmmac_release(dev);
|
||||||
|
|
||||||
@ -1210,7 +1210,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
|
|
||||||
if (netif_running(dev))
|
if (netif_running(dev))
|
||||||
ret = stmmac_open(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);
|
stmmac_disable_all_queues(priv);
|
||||||
|
|
||||||
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
|
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) {
|
if (priv->eee_enabled) {
|
||||||
priv->tx_path_in_lpi_mode = false;
|
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)
|
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->cur_rx = 0;
|
||||||
rx_q->dirty_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)
|
static void stmmac_reset_tx_queue(struct stmmac_priv *priv, u32 queue)
|
||||||
{
|
{
|
||||||
|
@ -1045,7 +1045,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
|
|
||||||
/* Disable the MAC Rx/Tx */
|
/* Disable the MAC Rx/Tx */
|
||||||
stmmac_mac_set(priv, priv->ioaddr, false);
|
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);
|
spin_unlock_irqrestore(&ch->lock, flags);
|
||||||
|
|
||||||
stmmac_stop_rx_dma(priv, queue);
|
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)
|
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;
|
u32 buf_size;
|
||||||
int ret;
|
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,
|
stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
|
||||||
rx_q->dma_rx_phy, rx_q->queue_index);
|
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);
|
spin_unlock_irqrestore(&ch->lock, flags);
|
||||||
|
|
||||||
stmmac_stop_tx_dma(priv, queue);
|
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)
|
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;
|
unsigned long flags;
|
||||||
int ret;
|
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,
|
stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
|
||||||
tx_q->dma_tx_phy, tx_q->queue_index);
|
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);
|
stmmac_stop_all_dma(priv);
|
||||||
|
|
||||||
/* Release and free the Rx/Tx resources */
|
/* Release and free the Rx/Tx resources */
|
||||||
@ -1124,7 +1124,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
|
|
||||||
/* Disable the MAC Rx/Tx */
|
/* Disable the MAC Rx/Tx */
|
||||||
stmmac_mac_set(priv, priv->ioaddr, false);
|
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;
|
u32 chan;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
@ -1141,7 +1141,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
netdev_err(dev, "%s: DMA descriptors initialization failed\n",
|
netdev_err(dev, "%s: DMA descriptors initialization failed\n",
|
||||||
__func__);
|
__func__);
|
||||||
@@ -6644,7 +6760,7 @@ irq_error:
|
@@ -6624,7 +6740,7 @@ irq_error:
|
||||||
|
|
||||||
stmmac_hw_teardown(dev);
|
stmmac_hw_teardown(dev);
|
||||||
init_error:
|
init_error:
|
||||||
@ -1150,7 +1150,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
dma_desc_error:
|
dma_desc_error:
|
||||||
return ret;
|
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_reset_queues_param(priv);
|
||||||
|
|
||||||
stmmac_free_tx_skbufs(priv);
|
stmmac_free_tx_skbufs(priv);
|
||||||
|
@ -98,7 +98,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
obj-$(CONFIG_NETFILTER_XT_TARGET_LED) += xt_LED.o
|
obj-$(CONFIG_NETFILTER_XT_TARGET_LED) += xt_LED.o
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/net/netfilter/xt_FLOWOFFLOAD.c
|
+++ b/net/netfilter/xt_FLOWOFFLOAD.c
|
||||||
@@ -0,0 +1,698 @@
|
@@ -0,0 +1,701 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Copyright (C) 2018-2021 Felix Fietkau <nbd@nbd.name>
|
+ * Copyright (C) 2018-2021 Felix Fietkau <nbd@nbd.name>
|
||||||
+ *
|
+ *
|
||||||
@ -544,10 +544,15 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
+ break;
|
+ break;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ nf_route(xt_net(par), &other_dst, &fl, false, xt_family(par));
|
+ if (!dst_hold_safe(this_dst))
|
||||||
+ if (!other_dst)
|
|
||||||
+ return -ENOENT;
|
+ return -ENOENT;
|
||||||
+
|
+
|
||||||
|
+ nf_route(xt_net(par), &other_dst, &fl, false, xt_family(par));
|
||||||
|
+ if (!other_dst) {
|
||||||
|
+ dst_release(this_dst);
|
||||||
|
+ return -ENOENT;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
+ nf_default_forward_path(route, this_dst, dir, devs);
|
+ nf_default_forward_path(route, this_dst, dir, devs);
|
||||||
+ nf_default_forward_path(route, other_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)
|
+ if (!flow)
|
||||||
+ goto err_flow_alloc;
|
+ goto err_flow_alloc;
|
||||||
+
|
+
|
||||||
+ if (flow_offload_route_init(flow, &route) < 0)
|
+ flow_offload_route_init(flow, &route);
|
||||||
+ goto err_flow_add;
|
|
||||||
+
|
+
|
||||||
+ if (tcph) {
|
+ if (tcph) {
|
||||||
+ ct->proto.tcp.seen[0].flags |= IP_CT_TCP_FLAG_BE_LIBERAL;
|
+ 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[0]);
|
||||||
+ xt_flowoffload_check_device(table, devs[1]);
|
+ xt_flowoffload_check_device(table, devs[1]);
|
||||||
+
|
+
|
||||||
+ dst_release(route.tuple[!dir].dst);
|
|
||||||
+
|
|
||||||
+ return XT_CONTINUE;
|
+ return XT_CONTINUE;
|
||||||
+
|
+
|
||||||
+err_flow_add:
|
+err_flow_add:
|
||||||
+ flow_offload_free(flow);
|
+ flow_offload_free(flow);
|
||||||
+err_flow_alloc:
|
+err_flow_alloc:
|
||||||
|
+ dst_release(route.tuple[dir].dst);
|
||||||
+ dst_release(route.tuple[!dir].dst);
|
+ dst_release(route.tuple[!dir].dst);
|
||||||
+err_flow_route:
|
+err_flow_route:
|
||||||
+ clear_bit(IPS_OFFLOAD_BIT, &ct->status);
|
+ 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_flow_table.h>
|
||||||
#include <net/netfilter/nf_conntrack.h>
|
#include <net/netfilter/nf_conntrack.h>
|
||||||
#include <net/netfilter/nf_conntrack_core.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);
|
EXPORT_SYMBOL_GPL(flow_offload_lookup);
|
||||||
|
|
||||||
@ -817,7 +820,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
void (*iter)(struct nf_flowtable *flowtable,
|
void (*iter)(struct nf_flowtable *flowtable,
|
||||||
struct flow_offload *flow, void *data),
|
struct flow_offload *flow, void *data),
|
||||||
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);
|
nf_flow_offload_stats(flow_table, flow);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
|||||||
|
|
||||||
--- a/net/netfilter/nf_flow_table_core.c
|
--- a/net/netfilter/nf_flow_table_core.c
|
||||||
+++ b/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);
|
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
|
--- a/net/netfilter/nft_flow_offload.c
|
||||||
+++ b/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,
|
.owner = THIS_MODULE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/net/netfilter/nf_tables_api.c
|
--- a/net/netfilter/nf_tables_api.c
|
||||||
+++ b/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,
|
err = flowtable->data.type->setup(&flowtable->data,
|
||||||
hook->ops.dev,
|
hook->ops.dev,
|
||||||
FLOW_BLOCK_BIND);
|
FLOW_BLOCK_BIND);
|
||||||
|
@ -51,7 +51,7 @@ Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
|
|||||||
#define read_vpe_c0_status() mftc0(12, 0)
|
#define read_vpe_c0_status() mftc0(12, 0)
|
||||||
--- a/arch/mips/include/asm/vpe.h
|
--- a/arch/mips/include/asm/vpe.h
|
||||||
+++ b/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);
|
int __init vpe_module_init(void);
|
||||||
void __exit vpe_module_exit(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 */
|
/* check we are the Master VPE */
|
||||||
local_irq_save(flags);
|
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();
|
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. */
|
/* add the tc to the list of this vpe's tc's. */
|
||||||
list_add(&t->tc, &v->tc);
|
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);
|
release_vpe(v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -178,7 +178,7 @@ Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
|
|||||||
{
|
{
|
||||||
--- a/arch/mips/lantiq/prom.c
|
--- a/arch/mips/lantiq/prom.c
|
||||||
+++ b/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;
|
static struct ltq_soc_info soc_info;
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
|
|||||||
|
|
||||||
--- a/arch/mips/kernel/vpe-mt.c
|
--- a/arch/mips/kernel/vpe-mt.c
|
||||||
+++ b/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.
|
* kernels need to turn it on, even if that wasn't the pre-dvpe() state.
|
||||||
*/
|
*/
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
|
@ -39,7 +39,7 @@ Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
|
|||||||
|
|
||||||
--- a/arch/mips/lantiq/prom.c
|
--- a/arch/mips/lantiq/prom.c
|
||||||
+++ b/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 */
|
/* for Multithreading (APRP), vpe.c will use it */
|
||||||
unsigned long cp0_memsize;
|
unsigned long cp0_memsize;
|
||||||
|
|
||||||
@ -54,7 +54,7 @@ Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
|
|||||||
const char *get_system_type(void)
|
const char *get_system_type(void)
|
||||||
{
|
{
|
||||||
return soc_info.sys_type;
|
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();
|
unflatten_and_copy_device_tree();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
|
|||||||
void __init prom_init(void)
|
void __init prom_init(void)
|
||||||
{
|
{
|
||||||
/* call the soc specific detetcion code and get it to fill soc_info */
|
/* 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();
|
prom_init_cmdline();
|
||||||
|
|
||||||
#if defined(CONFIG_MIPS_MT_SMP)
|
#if defined(CONFIG_MIPS_MT_SMP)
|
||||||
|
@ -18,7 +18,7 @@ Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
|
|||||||
|
|
||||||
--- a/arch/mips/lantiq/prom.c
|
--- a/arch/mips/lantiq/prom.c
|
||||||
+++ b/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();
|
prom_init_cmdline();
|
||||||
|
|
||||||
#if defined(CONFIG_MIPS_MT_SMP)
|
#if defined(CONFIG_MIPS_MT_SMP)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user