diff --git a/devices/r8169/r8169_main-6.12-ethercat.c b/devices/r8169/r8169_main-6.12-ethercat.c index cdc79d98..f590fce0 100644 --- a/devices/r8169/r8169_main-6.12-ethercat.c +++ b/devices/r8169/r8169_main-6.12-ethercat.c @@ -4607,7 +4607,8 @@ static void rtl_tx(struct net_device *dev, struct rtl8169_private *tp, if (skb) { pkts_compl++; bytes_compl += skb->len; - napi_consume_skb(skb, budget); + if (!get_ecdev(tp)) + napi_consume_skb(skb, budget); } dirty_tx++; } diff --git a/devices/r8169/r8169_main-6.4-ethercat.c b/devices/r8169/r8169_main-6.4-ethercat.c index 94224ae9..ebd7d6a4 100644 --- a/devices/r8169/r8169_main-6.4-ethercat.c +++ b/devices/r8169/r8169_main-6.4-ethercat.c @@ -4400,7 +4400,8 @@ static void rtl_tx(struct net_device *dev, struct rtl8169_private *tp, if (skb) { pkts_compl++; bytes_compl += skb->len; - napi_consume_skb(skb, budget); + if (!get_ecdev(tp)) + napi_consume_skb(skb, budget); } dirty_tx++; }