From patchwork Tue Jan 3 19:19:09 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Kirsher, Jeffrey T" X-Patchwork-Id: 134061 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 89593B6FA9 for ; Wed, 4 Jan 2012 06:19:52 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754810Ab2ACTTt (ORCPT ); Tue, 3 Jan 2012 14:19:49 -0500 Received: from mga02.intel.com ([134.134.136.20]:48412 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754640Ab2ACTTq (ORCPT ); Tue, 3 Jan 2012 14:19:46 -0500 Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP; 03 Jan 2012 11:19:23 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.67,351,1309762800"; d="scan'208";a="94057858" Received: from unknown (HELO jtkirshe-mobl.amr.corp.intel.com) ([10.255.13.131]) by orsmga002.jf.intel.com with ESMTP; 03 Jan 2012 11:19:23 -0800 From: Jeff Kirsher To: davem@davemloft.net Cc: Koki Sanagi , netdev@vger.kernel.org, gospo@redhat.com, sassmann@redhat.com, Jeff Kirsher Subject: [net-next 04/11] igb: reset PHY after recovering from PHY power down Date: Tue, 3 Jan 2012 11:19:09 -0800 Message-Id: <1325618356-2655-5-git-send-email-jeffrey.t.kirsher@intel.com> X-Mailer: git-send-email 1.7.7.5 In-Reply-To: <1325618356-2655-1-git-send-email-jeffrey.t.kirsher@intel.com> References: <1325618356-2655-1-git-send-email-jeffrey.t.kirsher@intel.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Koki Sanagi According to 82576_Datasheet.pdf, PHY setting is lost after PHY power down. So resetting PHY is needed when recovering from PHY power down to set a default setting to PHY register. Owing to this lack, NIC doesn't link up in some rare situation. Signed-off-by: Koki Sanagi Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher --- drivers/net/ethernet/intel/igb/igb_main.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c index fac71e2..01e5e89 100644 --- a/drivers/net/ethernet/intel/igb/igb_main.c +++ b/drivers/net/ethernet/intel/igb/igb_main.c @@ -1507,6 +1507,7 @@ void igb_power_up_link(struct igb_adapter *adapter) igb_power_up_phy_copper(&adapter->hw); else igb_power_up_serdes_link_82575(&adapter->hw); + igb_reset_phy(&adapter->hw); } /**