igb: display a warning message when SmartSpeed works
authorKoki Sanagi <sanagi.koki@jp.fujitsu.com>
Wed, 16 Jan 2013 11:05:53 +0000 (11:05 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Thu, 25 Apr 2013 03:24:18 +0000 (20:24 -0700)
Current igb driver doesn't tell nothing when Link Speed is downgraded due to
SmartSpeed.  As a result, users suspect that there is something wrong with
NIC.  If the cause of it is SmartSpeed, there is no means to replace NIC. This
patch make igb notify users that SmartSpeed worked.

Signed-off-by: Koki Sanagi <sanagi.koki@jp.fujitsu.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/igb/igb_main.c

index b94a3c5..93be6ec 100644 (file)
@@ -3901,6 +3901,7 @@ static void igb_watchdog_task(struct work_struct *work)
                                                   struct igb_adapter,
                                                   watchdog_task);
        struct e1000_hw *hw = &adapter->hw;
+       struct e1000_phy_info *phy = &hw->phy;
        struct net_device *netdev = adapter->netdev;
        u32 link;
        int i;
@@ -3929,6 +3930,11 @@ static void igb_watchdog_task(struct work_struct *work)
                               (ctrl & E1000_CTRL_RFCE) ?  "RX" :
                               (ctrl & E1000_CTRL_TFCE) ?  "TX" : "None");
 
+                       /* check if SmartSpeed worked */
+                       igb_check_downshift(hw);
+                       if (phy->speed_downgraded)
+                               netdev_warn(netdev, "Link Speed was downgraded by SmartSpeed\n");
+
                        /* check for thermal sensor event */
                        if (igb_thermal_sensor_event(hw,
                            E1000_THSTAT_LINK_THROTTLE)) {