]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: phy: dp83822: disable MDI crossover status change interrupt
authorFelix Riemann <felix.riemann@sma.de>
Tue, 18 Oct 2022 10:47:54 +0000 (12:47 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 29 Oct 2022 08:08:35 +0000 (10:08 +0200)
[ Upstream commit 7f378c03aa4952507521174fb0da7b24a9ad0be6 ]

If the cable is disconnected the PHY seems to toggle between MDI and
MDI-X modes. With the MDI crossover status interrupt active this causes
roughly 10 interrupts per second.

As the crossover status isn't checked by the driver, the interrupt can
be disabled to reduce the interrupt load.

Fixes: 87461f7a58ab ("net: phy: DP83822 initial driver submission")
Signed-off-by: Felix Riemann <felix.riemann@sma.de>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20221018104755.30025-1-svc.sw.rte.linux@sma.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/phy/dp83822.c

index 8549e0e356c9b42226003c0f02a734192b9d5e18..b60db8b6f47744c67b7fc32f7879bb3b68192ee6 100644 (file)
@@ -254,8 +254,7 @@ static int dp83822_config_intr(struct phy_device *phydev)
                                DP83822_EEE_ERROR_CHANGE_INT_EN);
 
                if (!dp83822->fx_enabled)
-                       misr_status |= DP83822_MDI_XOVER_INT_EN |
-                                      DP83822_ANEG_ERR_INT_EN |
+                       misr_status |= DP83822_ANEG_ERR_INT_EN |
                                       DP83822_WOL_PKT_INT_EN;
 
                err = phy_write(phydev, MII_DP83822_MISR2, misr_status);