| From 729fd05aac22cdf1e502fbf1bf80e5ebba0d9fbc Mon Sep 17 00:00:00 2001 | 
 | From: Russell King <rmk+kernel@armlinux.org.uk> | 
 | Date: Tue, 3 Dec 2019 17:48:28 +0000 | 
 | Subject: [PATCH] net: sfp: fix unbind | 
 |  | 
 | When unbinding, we don't correctly tear down the module state, leaving | 
 | (for example) the hwmon registration behind. Ensure everything is | 
 | properly removed by sending a remove event at unbind. | 
 |  | 
 | Fixes: 6b0da5c9c1a3 ("net: sfp: track upstream's attachment state in state machine") | 
 | Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> | 
 | --- | 
 |  drivers/net/phy/sfp.c | 4 ++++ | 
 |  1 file changed, 4 insertions(+) | 
 |  | 
 | --- a/drivers/net/phy/sfp.c | 
 | +++ b/drivers/net/phy/sfp.c | 
 | @@ -2439,6 +2439,10 @@ static int sfp_remove(struct platform_de | 
 |   | 
 |  	sfp_unregister_socket(sfp->sfp_bus); | 
 |   | 
 | +	rtnl_lock(); | 
 | +	sfp_sm_event(sfp, SFP_E_REMOVE); | 
 | +	rtnl_unlock(); | 
 | + | 
 |  	return 0; | 
 |  } | 
 |   |