Patchwork [1/2] igb: display a warning message when SmartSpeed works

login
register
mail settings
Submitter Koki Sanagi
Date Jan. 16, 2013, 2:21 a.m.
Message ID <50F60EBB.4000800@jp.fujitsu.com>
Download mbox | patch
Permalink /patch/212372/
State Awaiting Upstream
Delegated to: David Miller
Headers show

Comments

Koki Sanagi - Jan. 16, 2013, 2:21 a.m.
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>
---
 drivers/net/ethernet/intel/igb/igb_main.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jeff Kirsher - Jan. 16, 2013, 2:54 a.m.
On Wed, 2013-01-16 at 11:21 +0900, Koki Sanagi wrote:
> 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>
> ---
>  drivers/net/ethernet/intel/igb/igb_main.c |    7 +++++++
>  1 files changed, 7 insertions(+), 0 deletions(-) 

Thanks, I have added the patch to my queue.

Patch

diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index a0a31b5..71f9088 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -3647,6 +3647,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;
@@ -3675,6 +3676,12 @@  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)) {