git: 40fa6e53f53c - main - e1000: prevent ULP flow if cable connected

Kevin Bowling kbowling at FreeBSD.org
Fri Sep 17 21:37:38 UTC 2021


The branch main has been updated by kbowling (ports committer):

URL: https://cgit.FreeBSD.org/src/commit/?id=40fa6e53f53cde84f6f5c7330f89e4ae373d7d93

commit 40fa6e53f53cde84f6f5c7330f89e4ae373d7d93
Author:     Wenzhuo Lu <wenzhuo.lu at intel.com>
AuthorDate: 2015-10-16 02:51:03 +0000
Commit:     Kevin Bowling <kbowling at FreeBSD.org>
CommitDate: 2021-09-17 21:25:38 +0000

    e1000: prevent ULP flow if cable connected
    
    Enabling ulp on link down when cable is connect caused an infinite
    loop of linkup/down indications in the NDIS driver.
    After discussed, correct flow is to enable ULP only when cable is
    disconnected.
    
    Signed-off-by: Wenzhuo Lu <wenzhuo.lu at intel.com>
    
    Approved by:    imp
    Obtained from:  DPDK (4bff263d54d299269966365f9697941eecaa241b)
    MFC after:      1 week
---
 sys/dev/e1000/e1000_ich8lan.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/sys/dev/e1000/e1000_ich8lan.c b/sys/dev/e1000/e1000_ich8lan.c
index 635be03f2900..dd4e85d64aff 100644
--- a/sys/dev/e1000/e1000_ich8lan.c
+++ b/sys/dev/e1000/e1000_ich8lan.c
@@ -1307,6 +1307,10 @@ s32 e1000_enable_ulp_lpt_lp(struct e1000_hw *hw, bool to_sx)
 			 (E1000_READ_REG(hw, E1000_FEXT) &
 			  E1000_FEXT_PHY_CABLE_DISCONNECTED) ? "" : "not",
 			 i * 50);
+		if (!(E1000_READ_REG(hw, E1000_FEXT) &
+		    E1000_FEXT_PHY_CABLE_DISCONNECTED))
+			return 0;
+
 	}
 
 	ret_val = hw->phy.ops.acquire(hw);


More information about the dev-commits-src-all mailing list