Add Nokia GPON ONT SFP fix for tx_fault in net-next. Signed-off-by: Scott Roberts <ttocsr@gmail.com>
		
			
				
	
	
		
			61 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From bfa3cbb01c7ea34d7369c9bd2ec1b2dc67082b04 Mon Sep 17 00:00:00 2001
 | 
						|
From: Russell King <rmk+kernel@armlinux.org.uk>
 | 
						|
Date: Mon, 2 Dec 2019 18:06:44 +0000
 | 
						|
Subject: [PATCH 2/4] net: sfp: rename sm_retries
 | 
						|
 | 
						|
Rename sm_retries as sm_fault_retries, as this is what this member is
 | 
						|
tracking.
 | 
						|
 | 
						|
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
 | 
						|
---
 | 
						|
 drivers/net/phy/sfp.c | 10 +++++-----
 | 
						|
 1 file changed, 5 insertions(+), 5 deletions(-)
 | 
						|
 | 
						|
--- a/drivers/net/phy/sfp.c
 | 
						|
+++ b/drivers/net/phy/sfp.c
 | 
						|
@@ -232,7 +232,7 @@ struct sfp {
 | 
						|
 	unsigned char sm_mod_tries;
 | 
						|
 	unsigned char sm_dev_state;
 | 
						|
 	unsigned short sm_state;
 | 
						|
-	unsigned int sm_retries;
 | 
						|
+	unsigned char sm_fault_retries;
 | 
						|
 
 | 
						|
 	struct sfp_eeprom_id id;
 | 
						|
 	unsigned int module_power_mW;
 | 
						|
@@ -1425,7 +1425,7 @@ static bool sfp_los_event_inactive(struc
 | 
						|
 
 | 
						|
 static void sfp_sm_fault(struct sfp *sfp, unsigned int next_state, bool warn)
 | 
						|
 {
 | 
						|
-	if (sfp->sm_retries && !--sfp->sm_retries) {
 | 
						|
+	if (sfp->sm_fault_retries && !--sfp->sm_fault_retries) {
 | 
						|
 		dev_err(sfp->dev,
 | 
						|
 			"module persistently indicates fault, disabling\n");
 | 
						|
 		sfp_sm_next(sfp, SFP_S_TX_DISABLE, 0);
 | 
						|
@@ -1828,7 +1828,7 @@ static void sfp_sm_main(struct sfp *sfp,
 | 
						|
 		sfp_module_tx_enable(sfp);
 | 
						|
 
 | 
						|
 		/* Initialise the fault clearance retries */
 | 
						|
-		sfp->sm_retries = N_FAULT_INIT;
 | 
						|
+		sfp->sm_fault_retries = N_FAULT_INIT;
 | 
						|
 
 | 
						|
 		/* We need to check the TX_FAULT state, which is not defined
 | 
						|
 		 * while TX_DISABLE is asserted. The earliest we want to do
 | 
						|
@@ -1868,7 +1868,7 @@ static void sfp_sm_main(struct sfp *sfp,
 | 
						|
 			 * or t_start_up, so assume there is a fault.
 | 
						|
 			 */
 | 
						|
 			sfp_sm_fault(sfp, SFP_S_INIT_TX_FAULT,
 | 
						|
-				     sfp->sm_retries == N_FAULT_INIT);
 | 
						|
+				     sfp->sm_fault_retries == N_FAULT_INIT);
 | 
						|
 		} else if (event == SFP_E_TIMEOUT || event == SFP_E_TX_CLEAR) {
 | 
						|
 	init_done:	/* TX_FAULT deasserted or we timed out with TX_FAULT
 | 
						|
 			 * clear.  Probe for the PHY and check the LOS state.
 | 
						|
@@ -1881,7 +1881,7 @@ static void sfp_sm_main(struct sfp *sfp,
 | 
						|
 			sfp_sm_link_check_los(sfp);
 | 
						|
 
 | 
						|
 			/* Reset the fault retry count */
 | 
						|
-			sfp->sm_retries = N_FAULT;
 | 
						|
+			sfp->sm_fault_retries = N_FAULT;
 | 
						|
 		}
 | 
						|
 		break;
 | 
						|
 
 |