From 4de138d68cd6783345709ee14e89dd40bac6688b Mon Sep 17 00:00:00 2001 From: Jacob Keller Date: Tue, 7 Jun 2016 16:09:00 -0700 Subject: [PATCH] fm10k: force link to remain down for at least a second on resume events When we resume from an AER recovery with many active VFs, the PF sees many spurious link up and link down events. Prevent this by delaying link down for at least one second after the resume event. Signed-off-by: Jacob Keller Tested-by: Krishneil Singh Signed-off-by: Jeff Kirsher Orabug: 25394529 (cherry picked from commit 0356b23bcc347d4020f2883ad083ab54e573e214) Signed-off-by: Jack Vogel --- drivers/net/ethernet/intel/fm10k/fm10k_pci.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_pci.c b/drivers/net/ethernet/intel/fm10k/fm10k_pci.c index 4751e664ae84..1c416cfb4cbc 100644 --- a/drivers/net/ethernet/intel/fm10k/fm10k_pci.c +++ b/drivers/net/ethernet/intel/fm10k/fm10k_pci.c @@ -2260,6 +2260,10 @@ static int fm10k_handle_resume(struct fm10k_intfc *interface) interface->host_ready = false; fm10k_watchdog_host_not_ready(interface); + /* force link to stay down for a second to prevent link flutter */ + interface->link_down_event = jiffies + (HZ); + set_bit(__FM10K_LINK_DOWN, &interface->state); + /* clear the service task disable bit to allow service task to start */ clear_bit(__FM10K_SERVICE_DISABLE, &interface->state); fm10k_service_event_schedule(interface); -- 2.50.1