mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2025-11-01 12:48:52 +00:00
Refresh patches 6.12 for airoha and econet Fixes:122135b964("airoha: an7581: add support for kernel 6.12") Fixes:73d0f92460("kernel: Add new platform EcoNet MIPS") Signed-off-by: Leo Barsky <leobrsky@proton.me> Link: https://github.com/openwrt/openwrt/pull/20073 Signed-off-by: Robert Marko <robimarko@gmail.com>
43 lines
1.4 KiB
Diff
43 lines
1.4 KiB
Diff
From c9f947769b77c8e8f318bfc8a0777e5d20c44d8d Mon Sep 17 00:00:00 2001
|
|
From: Lorenzo Bianconi <lorenzo@kernel.org>
|
|
Date: Thu, 17 Oct 2024 16:01:41 +0200
|
|
Subject: [PATCH] net: airoha: Reset BQL stopping the netdevice
|
|
|
|
Run airoha_qdma_cleanup_tx_queue() in ndo_stop callback in order to
|
|
unmap pending skbs. Moreover, reset BQL txq state stopping the netdevice,
|
|
|
|
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
|
Reviewed-by: Hariprasad Kelam <hkelam@marvell.com>
|
|
Message-ID: <20241017-airoha-en7581-reset-bql-v1-1-08c0c9888de5@kernel.org>
|
|
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
|
|
---
|
|
drivers/net/ethernet/mediatek/airoha_eth.c | 10 +++++++++-
|
|
1 file changed, 9 insertions(+), 1 deletion(-)
|
|
|
|
--- a/drivers/net/ethernet/mediatek/airoha_eth.c
|
|
+++ b/drivers/net/ethernet/mediatek/airoha_eth.c
|
|
@@ -2468,7 +2468,7 @@ static int airoha_dev_stop(struct net_de
|
|
{
|
|
struct airoha_gdm_port *port = netdev_priv(dev);
|
|
struct airoha_qdma *qdma = port->qdma;
|
|
- int err;
|
|
+ int i, err;
|
|
|
|
netif_tx_disable(dev);
|
|
err = airoha_set_gdm_ports(qdma->eth, false);
|
|
@@ -2479,6 +2479,14 @@ static int airoha_dev_stop(struct net_de
|
|
GLOBAL_CFG_TX_DMA_EN_MASK |
|
|
GLOBAL_CFG_RX_DMA_EN_MASK);
|
|
|
|
+ for (i = 0; i < ARRAY_SIZE(qdma->q_tx); i++) {
|
|
+ if (!qdma->q_tx[i].ndesc)
|
|
+ continue;
|
|
+
|
|
+ airoha_qdma_cleanup_tx_queue(&qdma->q_tx[i]);
|
|
+ netdev_tx_reset_subqueue(dev, i);
|
|
+ }
|
|
+
|
|
return 0;
|
|
}
|
|
|