mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 18:19:02 +00:00
kernel: bump 5.15 to 5.15.159
Removed because they are upstream:
generic/pending-5.15/778-net-l2tp-drop-flow-hash-on-forward.patch
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=e97e0051056b6dbcc43ae1862dcfcb05d06517c3
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 6cfa186544
)
This commit is contained in:
parent
a0d2ddac30
commit
cd2fdaf717
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-5.15 = .158
|
||||
LINUX_KERNEL_HASH-5.15.158 = f9071c83a4fd8b80af026b48cfc1869bfa25883f9148b92b5dc1e1e1e26dd5c6
|
||||
LINUX_VERSION-5.15 = .159
|
||||
LINUX_KERNEL_HASH-5.15.159 = 3478fe50225e9c88e09cf114f38e3fb71e82d9fdcc356aa1257d721199b341c5
|
||||
|
@ -1123,7 +1123,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
}
|
||||
--- a/drivers/usb/core/hub.c
|
||||
+++ b/drivers/usb/core/hub.c
|
||||
@@ -5676,7 +5676,7 @@ static void port_event(struct usb_hub *h
|
||||
@@ -5677,7 +5677,7 @@ static void port_event(struct usb_hub *h
|
||||
port_dev->over_current_count++;
|
||||
port_over_current_notify(port_dev);
|
||||
|
||||
|
@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
/* Disable rate control for now */
|
||||
bcmgenet_tdma_ring_writel(priv, index, flow_period_val,
|
||||
TDMA_FLOW_PERIOD);
|
||||
@@ -4083,9 +4083,12 @@ static int bcmgenet_probe(struct platfor
|
||||
@@ -4093,9 +4093,12 @@ static int bcmgenet_probe(struct platfor
|
||||
netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1);
|
||||
|
||||
/* Set default coalescing parameters */
|
||||
|
@ -1,70 +0,0 @@
|
||||
From 87bb6f0edf9a4a14d9b41bcfe97216f74f730b43 Mon Sep 17 00:00:00 2001
|
||||
From: Phil Elwell <phil@raspberrypi.com>
|
||||
Date: Fri, 25 Sep 2020 15:07:23 +0100
|
||||
Subject: [PATCH] net: bcmgenet: Reset RBUF on first open
|
||||
|
||||
If the RBUF logic is not reset when the kernel starts then there
|
||||
may be some data left over from any network boot loader. If the
|
||||
64-byte packet headers are enabled then this can be fatal.
|
||||
|
||||
Extend bcmgenet_dma_disable to do perform the reset, but not when
|
||||
called from bcmgenet_resume in order to preserve a wake packet.
|
||||
|
||||
N.B. This different handling of resume is just based on a hunch -
|
||||
why else wouldn't one reset the RBUF as well as the TBUF? If this
|
||||
isn't the case then it's easy to change the patch to make the RBUF
|
||||
reset unconditional.
|
||||
|
||||
See: https://github.com/raspberrypi/linux/issues/3850
|
||||
|
||||
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
---
|
||||
drivers/net/ethernet/broadcom/genet/bcmgenet.c | 16 ++++++++++++----
|
||||
1 file changed, 12 insertions(+), 4 deletions(-)
|
||||
|
||||
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
|
||||
@@ -3264,7 +3264,7 @@ static void bcmgenet_get_hw_addr(struct
|
||||
}
|
||||
|
||||
/* Returns a reusable dma control register value */
|
||||
-static u32 bcmgenet_dma_disable(struct bcmgenet_priv *priv)
|
||||
+static u32 bcmgenet_dma_disable(struct bcmgenet_priv *priv, bool flush_rx)
|
||||
{
|
||||
unsigned int i;
|
||||
u32 reg;
|
||||
@@ -3289,6 +3289,14 @@ static u32 bcmgenet_dma_disable(struct b
|
||||
udelay(10);
|
||||
bcmgenet_umac_writel(priv, 0, UMAC_TX_FLUSH);
|
||||
|
||||
+ if (flush_rx) {
|
||||
+ reg = bcmgenet_rbuf_ctrl_get(priv);
|
||||
+ bcmgenet_rbuf_ctrl_set(priv, reg | BIT(0));
|
||||
+ udelay(10);
|
||||
+ bcmgenet_rbuf_ctrl_set(priv, reg);
|
||||
+ udelay(10);
|
||||
+ }
|
||||
+
|
||||
return dma_ctrl;
|
||||
}
|
||||
|
||||
@@ -3352,8 +3360,8 @@ static int bcmgenet_open(struct net_devi
|
||||
|
||||
bcmgenet_set_hw_addr(priv, dev->dev_addr);
|
||||
|
||||
- /* Disable RX/TX DMA and flush TX queues */
|
||||
- dma_ctrl = bcmgenet_dma_disable(priv);
|
||||
+ /* Disable RX/TX DMA and flush TX and RX queues */
|
||||
+ dma_ctrl = bcmgenet_dma_disable(priv, true);
|
||||
|
||||
/* Reinitialize TDMA and RDMA and SW housekeeping */
|
||||
ret = bcmgenet_init_dma(priv);
|
||||
@@ -4212,7 +4220,7 @@ static int bcmgenet_resume(struct device
|
||||
bcmgenet_hfb_create_rxnfc_filter(priv, rule);
|
||||
|
||||
/* Disable RX/TX DMA and flush TX queues */
|
||||
- dma_ctrl = bcmgenet_dma_disable(priv);
|
||||
+ dma_ctrl = bcmgenet_dma_disable(priv, false);
|
||||
|
||||
/* Reinitialize TDMA and RDMA and SW housekeeping */
|
||||
ret = bcmgenet_init_dma(priv);
|
@ -104,8 +104,8 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
+ if (clk->min_rate > 0 || clk->max_rate < ULONG_MAX)
|
||||
+ clk_set_rate_range_nolock(clk, 0, ULONG_MAX);
|
||||
|
||||
owner = clk->core->owner;
|
||||
kref_put(&clk->core->ref, __clk_release);
|
||||
clk_prepare_unlock();
|
||||
|
||||
--- a/drivers/clk/clk_test.c
|
||||
+++ b/drivers/clk/clk_test.c
|
||||
@@ -760,9 +760,65 @@ static void clk_range_test_multiple_set_
|
||||
|
@ -156,7 +156,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
||||
if (priv && (priv->quirks & XHCI_SG_TRB_CACHE_SIZE_QUIRK))
|
||||
--- a/drivers/usb/host/xhci-plat.h
|
||||
+++ b/drivers/usb/host/xhci-plat.h
|
||||
@@ -13,7 +13,6 @@
|
||||
@@ -15,7 +15,6 @@ struct usb_hcd;
|
||||
struct xhci_plat_priv {
|
||||
const char *firmware_name;
|
||||
unsigned long long quirks;
|
||||
|
@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
*/
|
||||
--- a/include/linux/skbuff.h
|
||||
+++ b/include/linux/skbuff.h
|
||||
@@ -2855,6 +2855,10 @@ static inline int pskb_trim(struct sk_bu
|
||||
@@ -2870,6 +2870,10 @@ static inline int pskb_trim(struct sk_bu
|
||||
return (len < skb->len) ? __pskb_trim(skb, len) : 0;
|
||||
}
|
||||
|
||||
@ -82,7 +82,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
/**
|
||||
* pskb_trim_unique - remove end from a paged unique (not cloned) buffer
|
||||
* @skb: buffer to alter
|
||||
@@ -3005,16 +3009,6 @@ static inline struct sk_buff *dev_alloc_
|
||||
@@ -3020,16 +3024,6 @@ static inline struct sk_buff *dev_alloc_
|
||||
}
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/include/linux/skbuff.h
|
||||
+++ b/include/linux/skbuff.h
|
||||
@@ -2821,7 +2821,7 @@ static inline int pskb_network_may_pull(
|
||||
@@ -2836,7 +2836,7 @@ static inline int pskb_network_may_pull(
|
||||
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
|
||||
*/
|
||||
#ifndef NET_SKB_PAD
|
||||
|
@ -17,7 +17,7 @@ Signed-off-by: Alexander Duyck <alexanderduyck@fb.com>
|
||||
|
||||
--- a/net/core/skbuff.c
|
||||
+++ b/net/core/skbuff.c
|
||||
@@ -4360,6 +4360,15 @@ int skb_gro_receive(struct sk_buff *p, s
|
||||
@@ -4371,6 +4371,15 @@ int skb_gro_receive(struct sk_buff *p, s
|
||||
if (unlikely(p->len + len >= 65536 || NAPI_GRO_CB(skb)->flush))
|
||||
return -E2BIG;
|
||||
|
||||
|
@ -1,31 +0,0 @@
|
||||
From 4a44a52f16ccd3d03e0cb5fb437a5eb31a5f9f05 Mon Sep 17 00:00:00 2001
|
||||
From: David Bauer <mail@david-bauer.net>
|
||||
Date: Mon, 26 Feb 2024 21:39:34 +0100
|
||||
Subject: [PATCH] net l2tp: drop flow hash on forward
|
||||
|
||||
Drop the flow-hash of the skb when forwarding to the L2TP netdev.
|
||||
|
||||
This avoids the L2TP qdisc from using the flow-hash from the outer
|
||||
packet, which is identical for every flow within the tunnel.
|
||||
|
||||
This does not affect every platform but is specific for the ethernet
|
||||
driver. It depends on the platform including L4 information in the
|
||||
flow-hash.
|
||||
|
||||
Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
---
|
||||
net/l2tp/l2tp_eth.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
--- a/net/l2tp/l2tp_eth.c
|
||||
+++ b/net/l2tp/l2tp_eth.c
|
||||
@@ -136,6 +136,9 @@ static void l2tp_eth_dev_recv(struct l2t
|
||||
/* checksums verified by L2TP */
|
||||
skb->ip_summed = CHECKSUM_NONE;
|
||||
|
||||
+ /* drop outer flow-hash */
|
||||
+ skb_clear_hash(skb);
|
||||
+
|
||||
skb_dst_drop(skb);
|
||||
nf_reset_ct(skb);
|
||||
|
@ -365,7 +365,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
||||
void mtk_rmw(struct mtk_pinctrl *pctl, u8 i, u32 reg, u32 mask, u32 set);
|
||||
--- a/drivers/pinctrl/mediatek/pinctrl-paris.c
|
||||
+++ b/drivers/pinctrl/mediatek/pinctrl-paris.c
|
||||
@@ -574,8 +574,9 @@ static int mtk_hw_get_value_wrap(struct
|
||||
@@ -538,8 +538,9 @@ static int mtk_hw_get_value_wrap(struct
|
||||
ssize_t mtk_pctrl_show_one_pin(struct mtk_pinctrl *hw,
|
||||
unsigned int gpio, char *buf, unsigned int buf_len)
|
||||
{
|
||||
@ -376,7 +376,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
||||
|
||||
if (gpio >= hw->soc->npins)
|
||||
return -EINVAL;
|
||||
@@ -589,24 +590,39 @@ ssize_t mtk_pctrl_show_one_pin(struct mt
|
||||
@@ -553,24 +554,39 @@ ssize_t mtk_pctrl_show_one_pin(struct mt
|
||||
pinmux -= hw->soc->nfuncs;
|
||||
|
||||
mtk_pinconf_bias_get_combo(hw, desc, &pullup, &pullen);
|
||||
@ -433,7 +433,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
||||
}
|
||||
len += scnprintf(buf + len, buf_len - len,
|
||||
"%03d: %1d%1d%1d%1d%02d%1d%1d%1d%1d",
|
||||
@@ -624,6 +640,8 @@ ssize_t mtk_pctrl_show_one_pin(struct mt
|
||||
@@ -588,6 +604,8 @@ ssize_t mtk_pctrl_show_one_pin(struct mt
|
||||
if (r1 != -1) {
|
||||
len += scnprintf(buf + len, buf_len - len, " (%1d %1d)\n",
|
||||
r1, r0);
|
||||
@ -442,7 +442,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
||||
} else {
|
||||
len += scnprintf(buf + len, buf_len - len, "\n");
|
||||
}
|
||||
@@ -966,6 +984,12 @@ int mtk_paris_pinctrl_probe(struct platf
|
||||
@@ -930,6 +948,12 @@ int mtk_paris_pinctrl_probe(struct platf
|
||||
|
||||
hw->nbase = hw->soc->nbase_names;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user