From b9d5cf13d003e808d76bdedaaca7fb9f44503d23 Mon Sep 17 00:00:00 2001 From: Florian Pose Date: Fri, 27 Jun 2025 11:58:37 +0200 Subject: [PATCH] Avoid netif_wake_queue(). --- devices/r8169/r8169_main-6.12-ethercat.c | 6 ++++-- devices/r8169/r8169_main-6.4-ethercat.c | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/devices/r8169/r8169_main-6.12-ethercat.c b/devices/r8169/r8169_main-6.12-ethercat.c index 6f261650..9f81baf5 100644 --- a/devices/r8169/r8169_main-6.12-ethercat.c +++ b/devices/r8169/r8169_main-6.12-ethercat.c @@ -4816,7 +4816,8 @@ static void rtl_task(struct work_struct *work) if (test_and_clear_bit(RTL_FLAG_TASK_RESET_PENDING, tp->wk.flags)) { reset: rtl_reset_work(tp); - netif_wake_queue(tp->dev); + if (!get_ecdev(tp)) + netif_wake_queue(tp->dev); } else if (test_and_clear_bit(RTL_FLAG_TASK_RESET_NO_QUEUE_WAKE, tp->wk.flags)) { rtl_reset_work(tp); } @@ -4848,7 +4849,8 @@ static void r8169_phylink_handler(struct net_device *ndev) if (netif_carrier_ok(ndev)) { rtl_link_chg_patch(tp); pm_request_resume(d); - netif_wake_queue(tp->dev); + if (!get_ecdev(tp)) + netif_wake_queue(tp->dev); } else { /* In few cases rx is broken after link-down otherwise */ if (rtl_is_8125(tp)) diff --git a/devices/r8169/r8169_main-6.4-ethercat.c b/devices/r8169/r8169_main-6.4-ethercat.c index 58939981..80d2f274 100644 --- a/devices/r8169/r8169_main-6.4-ethercat.c +++ b/devices/r8169/r8169_main-6.4-ethercat.c @@ -4610,7 +4610,8 @@ static void rtl_task(struct work_struct *work) if (test_and_clear_bit(RTL_FLAG_TASK_RESET_PENDING, tp->wk.flags)) { reset: rtl_reset_work(tp); - netif_wake_queue(tp->dev); + if (!get_ecdev(tp)) + netif_wake_queue(tp->dev); } out_unlock: rtnl_unlock();