ixgbe: Ping the VFs on link status change to trigger link change
authorAlexander Duyck <alexander.h.duyck@intel.com>
Sat, 5 May 2012 05:30:38 +0000 (05:30 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 18 Jul 2012 01:47:00 +0000 (18:47 -0700)
When the link status changes on the PF we need to notify the VFs. In order
to do this we should ping all of the VFs in order to trigger a link status
change on them as well.

This fixes issues in which the PF would reset, but the VF didn't because the
NAK flag was not set in the VF mailbox.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Tested-by: Sibai Li <sibai.li@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c

index ee230f533ee3c485b1b488ac78e1890930d9322f..17f46f0079a5e2a835cf9eb10e59cf5d65d40934 100644 (file)
@@ -5390,6 +5390,9 @@ static void ixgbe_watchdog_link_is_up(struct ixgbe_adapter *adapter)
 
        netif_carrier_on(netdev);
        ixgbe_check_vf_rate_limit(adapter);
+
+       /* ping all the active vfs to let them know link has changed */
+       ixgbe_ping_all_vfs(adapter);
 }
 
 /**
@@ -5419,6 +5422,9 @@ static void ixgbe_watchdog_link_is_down(struct ixgbe_adapter *adapter)
 
        e_info(drv, "NIC Link is Down\n");
        netif_carrier_off(netdev);
+
+       /* ping all the active vfs to let them know link has changed */
+       ixgbe_ping_all_vfs(adapter);
 }
 
 /**