[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230110080018.2838769-1-sassmann@redhat.com>
Date: Tue, 10 Jan 2023 09:00:18 +0100
From: Stefan Assmann <sassmann@...hat.com>
To: intel-wired-lan@...ts.osuosl.org
Cc: netdev@...r.kernel.org, anthony.l.nguyen@...el.com,
patryk.piotrowski@...el.com, sassmann@...nic.de
Subject: [PATCH net-queue] iavf: schedule watchdog immediately when changing primary MAC
From: Stefan Assmann <sassmann@...nic.de>
iavf_replace_primary_mac() utilizes queue_work() to schedule the
watchdog task but that only ensures that the watchdog task is queued
to run. To make sure the watchdog is executed asap use
mod_delayed_work().
Without this patch it may take up to 2s until the watchdog task gets
executed, which may cause long delays when setting the MAC address.
Fixes: a3e839d539e0 ("iavf: Add usage of new virtchnl format to set default MAC")
Signed-off-by: Stefan Assmann <sassmann@...nic.de>
---
Depends on net-queue patch
ca7facb6602f iavf: fix temporary deadlock and failure to set MAC address
drivers/net/ethernet/intel/iavf/iavf_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c b/drivers/net/ethernet/intel/iavf/iavf_main.c
index fff06f876c2c..1d3aa740caea 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_main.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_main.c
@@ -1033,7 +1033,7 @@ int iavf_replace_primary_mac(struct iavf_adapter *adapter,
/* schedule the watchdog task to immediately process the request */
if (f) {
- queue_work(adapter->wq, &adapter->watchdog_task.work);
+ mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0);
return 0;
}
return -ENOMEM;
--
2.38.1
Powered by blists - more mailing lists