kernel: fix ethernet regression on mt7986
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
75451681d0
commit
6c85c343d2
@ -70,14 +70,14 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
- if (mtk_tx_map(skb, dev, tx_num, ring, gso) < 0)
|
- if (mtk_tx_map(skb, dev, tx_num, ring, gso) < 0)
|
||||||
- goto drop;
|
- goto drop;
|
||||||
+ if (!MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2))
|
+ skb_list_walk_safe(skb, skb, next) {
|
||||||
+ skb_list_walk_safe(skb, skb, next) {
|
+ if ((!MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2) &&
|
||||||
+ if ((mtk_skb_has_small_frag(skb) && skb_linearize(skb)) ||
|
+ mtk_skb_has_small_frag(skb) && skb_linearize(skb)) ||
|
||||||
+ mtk_tx_map(skb, dev, tx_num, ring, gso) < 0) {
|
+ mtk_tx_map(skb, dev, tx_num, ring, gso) < 0) {
|
||||||
+ stats->tx_dropped++;
|
+ stats->tx_dropped++;
|
||||||
+ dev_kfree_skb_any(skb);
|
+ dev_kfree_skb_any(skb);
|
||||||
+ }
|
|
||||||
+ }
|
+ }
|
||||||
|
+ }
|
||||||
|
|
||||||
if (unlikely(atomic_read(&ring->free_count) <= ring->thresh))
|
if (unlikely(atomic_read(&ring->free_count) <= ring->thresh))
|
||||||
netif_tx_stop_all_queues(dev);
|
netif_tx_stop_all_queues(dev);
|
||||||
|
@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
@@ -3531,9 +3531,12 @@ static int mtk_hw_init(struct mtk_eth *e
|
@@ -3533,9 +3533,12 @@ static int mtk_hw_init(struct mtk_eth *e
|
||||||
mtk_w32(eth, 0x21021000, MTK_FE_INT_GRP);
|
mtk_w32(eth, 0x21021000, MTK_FE_INT_GRP);
|
||||||
|
|
||||||
if (MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2)) {
|
if (MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user