>-----Original Message----- >From: Koki Sanagi [mailto:[email protected]] >Sent: Wednesday, November 23, 2011 7:18 PM >To: [email protected]; Kirsher, Jeffrey T; Brandeburg, Jesse; >Allan, Bruce W; Wyborny, Carolyn; Skidmore, Donald C; Rose, Gregory V; >Waskiewicz Jr, Peter P; Duyck, Alexander H; Ronciak, John; e1000- >[email protected] >Cc: [email protected] >Subject: [PATCH net-next] igb: reset PHY after recovering from PHY power >down > >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. >The situation I encountered is following. > > >1.Both ports connect to switch. >+---------+ +--------+ >| |-----------| | >| 82576NS | | switch | >| |-----------| | >+---------+ +--------+ > >2.Detach both cables from switch. >+---------+ +--------+ >| |------- | | >| 82576NS | | switch | >| |------- | | >+---------+ +--------+ > >3.Detach one cable from one port. >+---------+ +--------+ >| |------- | | >| 82576NS | | switch | >| | | | >+---------+ +--------+ > >4.Attach that cable to the other port.(It means connecting directly each >port) >+---------+ +--------+ >| |-------+ | | >| 82576NS | | | switch | >| |-------+ | | >+---------+ +--------+ > >As a result, NIC doesn't link up sometimes. > >Signed-off-by: Koki Sanagi <[email protected]> >--- > 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 bd9b30e..4d4f065 100644 >--- a/drivers/net/ethernet/intel/igb/igb_main.c >+++ b/drivers/net/ethernet/intel/igb/igb_main.c >@@ -2496,6 +2496,7 @@ static int igb_open(struct net_device *netdev) > goto err_setup_rx; > > igb_power_up_link(adapter); >+ igb_reset_phy(hw); > > /* before we allocate an interrupt, we must be ready to handle it. > * Setting DEBUG_SHIRQ in the kernel makes it fire an interrupt
Hello, This seems reasonable, however it would only cover cases where igb_open is being called. It would be better to integrate the phy_reset call into igb_power_up_link, so that's the default. I can provide an alternate by end of the week. Thanks, Carolyn Carolyn Wyborny Linux Development LAN Access Division Intel Corporation ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-novd2d _______________________________________________ E1000-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/e1000-devel To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired
