|
|
@@ -70,14 +70,14 @@ Signed-off-by: Felix Fietkau <[email protected]>
|
|
|
|
|
|
- if (mtk_tx_map(skb, dev, tx_num, ring, gso) < 0)
|
|
|
- goto drop;
|
|
|
-+ if (!MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2))
|
|
|
-+ skb_list_walk_safe(skb, skb, next) {
|
|
|
-+ if ((mtk_skb_has_small_frag(skb) && skb_linearize(skb)) ||
|
|
|
-+ mtk_tx_map(skb, dev, tx_num, ring, gso) < 0) {
|
|
|
++ skb_list_walk_safe(skb, skb, next) {
|
|
|
++ if ((!MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2) &&
|
|
|
++ mtk_skb_has_small_frag(skb) && skb_linearize(skb)) ||
|
|
|
++ mtk_tx_map(skb, dev, tx_num, ring, gso) < 0) {
|
|
|
+ stats->tx_dropped++;
|
|
|
+ dev_kfree_skb_any(skb);
|
|
|
-+ }
|
|
|
+ }
|
|
|
++ }
|
|
|
|
|
|
if (unlikely(atomic_read(&ring->free_count) <= ring->thresh))
|
|
|
netif_tx_stop_all_queues(dev);
|