Commit e2b53ea5 authored by Stefan Assmann's avatar Stefan Assmann Committed by Tony Nguyen
Browse files

iavf: schedule watchdog immediately when changing primary MAC



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: a3e839d5 ("iavf: Add usage of new virtchnl format to set default MAC")
Signed-off-by: default avatarStefan Assmann <sassmann@kpanic.de>
Reviewed-by: default avatarMichal Schmidt <mschmidt@redhat.com>
Tested-by: default avatarMichal Schmidt <mschmidt@redhat.com>
Tested-by: default avatarRafal Romanowski <rafal.romanowski@intel.com>
Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
parent 7598f4b4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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;