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:
@@ -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_
|
||||
|
||||
Reference in New Issue
Block a user