Skip to contentSkip to conversation

Patch "e1000e: Fix error path in link detection" has been added to the 4.14-stable tree

PATCH [email protected] 1 participant 1 message Nov 28, 2017

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

e1000e: Fix error path in link detection

to the 4.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
e1000e-fix-error-path-in-link-detection.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From c4c40e51f9c32c6dd8adf606624c930a1c4d9bbb Mon Sep 17 00:00:00 2001

From: Benjamin Poirier <[email protected]>
Date: Fri, 21 Jul 2017 11:36:23 -0700
Subject: e1000e: Fix error path in link detection

From: Benjamin Poirier <[email protected]>

commit c4c40e51f9c32c6dd8adf606624c930a1c4d9bbb upstream.

In case of error from e1e_rphy(), the loop will exit early and "success" will be set to true erroneously.

---
 drivers/net/ethernet/intel/e1000e/phy.c |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
drivers/net/ethernet/intel/e1000e/phy.c +4 -3
@@ -1744,6 +1744,7 @@ s32 e1000e_phy_has_link_generic(struct e
 	s32 ret_val = 0;
 	u16 i, phy_status;
 
+	*success = false;
 	for (i = 0; i < iterations; i++) {
 		/* Some PHYs require the MII_BMSR register to be read
 		 * twice due to the link bit being sticky.  No harm doing
@@ -1763,16 +1764,16 @@ s32 e1000e_phy_has_link_generic(struct e
 		ret_val = e1e_rphy(hw, MII_BMSR, &phy_status);
 		if (ret_val)
 			break;
-		if (phy_status & BMSR_LSTATUS)
+		if (phy_status & BMSR_LSTATUS) {
+			*success = true;
 			break;
+		}
 		if (usec_interval >= 1000)
 			msleep(usec_interval / 1000);
 		else
 			udelay(usec_interval);
 	}
 
-	*success = (i < iterations);
-
 	return ret_val;
 }
 

Patches currently in stable-queue which might be from [email protected] are

queue-4.14/e1000e-fix-error-path-in-link-detection.patch queue-4.14/e1000e-separate-signaling-for-link-check-link-up.patch queue-4.14/e1000e-fix-return-value-test.patch queue-4.14/e1000e-avoid-receiver-overrun-interrupt-bursts.patch