From d7e5fb09fc8705e0ad773726f832ba355ff3ea8e Mon Sep 17 00:00:00 2001 From: Florian Pose Date: Thu, 26 Jun 2025 17:09:42 +0200 Subject: [PATCH] Fixed r8169. --- devices/r8169/r8169_main-6.12-ethercat.c | 10 ++++++---- devices/r8169/r8169_main-6.4-ethercat.c | 10 ++++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/devices/r8169/r8169_main-6.12-ethercat.c b/devices/r8169/r8169_main-6.12-ethercat.c index f590fce0..cee4ca5b 100644 --- a/devices/r8169/r8169_main-6.12-ethercat.c +++ b/devices/r8169/r8169_main-6.12-ethercat.c @@ -4614,12 +4614,14 @@ static void rtl_tx(struct net_device *dev, struct rtl8169_private *tp, } if (tp->dirty_tx != dirty_tx) { - dev_sw_netstats_tx_add(dev, pkts_compl, bytes_compl); + if (!get_ecdev(tp)) + dev_sw_netstats_tx_add(dev, pkts_compl, bytes_compl); WRITE_ONCE(tp->dirty_tx, dirty_tx); - netif_subqueue_completed_wake(dev, 0, pkts_compl, bytes_compl, - rtl_tx_slots_avail(tp), - R8169_TX_START_THRS); + if (!get_ecdev(tp)) + netif_subqueue_completed_wake(dev, 0, pkts_compl, bytes_compl, + rtl_tx_slots_avail(tp), + R8169_TX_START_THRS); /* * 8168 hack: TxPoll requests are lost when the Tx packets are * too close. Let's kick an extra TxPoll request when a burst diff --git a/devices/r8169/r8169_main-6.4-ethercat.c b/devices/r8169/r8169_main-6.4-ethercat.c index ebd7d6a4..58939981 100644 --- a/devices/r8169/r8169_main-6.4-ethercat.c +++ b/devices/r8169/r8169_main-6.4-ethercat.c @@ -4407,12 +4407,14 @@ static void rtl_tx(struct net_device *dev, struct rtl8169_private *tp, } if (tp->dirty_tx != dirty_tx) { - dev_sw_netstats_tx_add(dev, pkts_compl, bytes_compl); + if (!get_ecdev(tp)) + dev_sw_netstats_tx_add(dev, pkts_compl, bytes_compl); WRITE_ONCE(tp->dirty_tx, dirty_tx); - netif_subqueue_completed_wake(dev, 0, pkts_compl, bytes_compl, - rtl_tx_slots_avail(tp), - R8169_TX_START_THRS); + if (!get_ecdev(tp)) + netif_subqueue_completed_wake(dev, 0, pkts_compl, bytes_compl, + rtl_tx_slots_avail(tp), + R8169_TX_START_THRS); /* * 8168 hack: TxPoll requests are lost when the Tx packets are * too close. Let's kick an extra TxPoll request when a burst