openwrt/target/linux/mediatek/patches-5.4/0401-eth-fix-eth1-tx-timeout.patch
John Crispin e2ceb8dd93 mediatek: more v5.4 fixes
These are all backports and/or on their way upstream.

Signed-off-by: John Crispin <john@phrozen.org>
2020-04-06 07:07:42 +02:00

40 lines
1.0 KiB
Diff

diff -urN b/drivers/net/ethernet/mediatek/mtk_eth_soc.c c/drivers/net/ethernet/mediatek/mtk_eth_soc.c
--- b/drivers/net/ethernet/mediatek/mtk_eth_soc.c 2020-03-31 16:05:39.142008780 +0800
+++ c/drivers/net/ethernet/mediatek/mtk_eth_soc.c 2020-03-31 16:08:12.422190657 +0800
@@ -1090,17 +1090,6 @@
}
}
-static void mtk_stop_queue(struct mtk_eth *eth)
-{
- int i;
-
- for (i = 0; i < MTK_MAC_COUNT; i++) {
- if (!eth->netdev[i])
- continue;
- netif_stop_queue(eth->netdev[i]);
- }
-}
-
static int mtk_start_xmit(struct sk_buff *skb, struct net_device *dev)
{
struct mtk_mac *mac = netdev_priv(dev);
@@ -1121,7 +1110,7 @@
tx_num = mtk_cal_txd_req(skb);
if (unlikely(atomic_read(&ring->free_count) <= tx_num)) {
- mtk_stop_queue(eth);
+ netif_stop_queue(dev);
netif_err(eth, tx_queued, dev,
"Tx Ring full when queue awake!\n");
spin_unlock(&eth->page_lock);
@@ -1147,7 +1136,7 @@
goto drop;
if (unlikely(atomic_read(&ring->free_count) <= ring->thresh))
- mtk_stop_queue(eth);
+ netif_stop_queue(dev);
spin_unlock(&eth->page_lock);