net: phy: micrel: set soft_reset callback to genphy_soft_reset for KSZ8081
authorChristian Melki <christian.melki@t2data.com>
Wed, 24 Feb 2021 20:55:36 +0000 (21:55 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 Jan 2022 14:23:32 +0000 (15:23 +0100)
commit 764d31cacfe48440745c4bbb55a62ac9471c9f19 upstream.

Following a similar reinstate for the KSZ9031.

Older kernels would use the genphy_soft_reset if the PHY did not implement
a .soft_reset.

Bluntly removing that default may expose a lot of situations where various
PHYs/board implementations won't recover on various changes.
Like with this implementation during a 4.9.x to 5.4.x LTS transition.
I think it's a good thing to remove unwanted soft resets but wonder if it
did open a can of worms?

Atleast this fixes one iMX6 FEC/RMII/8081 combo.

Fixes: 6e2d85ec0559 ("net: phy: Stop with excessive soft reset")
Signed-off-by: Christian Melki <christian.melki@t2data.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20210224205536.9349-1-christian.melki@t2data.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/phy/micrel.c

index 0b61d80ea3f8c2b6379cb46c9a8cc3a293242f4e..18cc5e4280e83f8362ba3e14cfffc8156bca99f3 100644 (file)
@@ -1096,6 +1096,7 @@ static struct phy_driver ksphy_driver[] = {
        .probe          = kszphy_probe,
        .config_init    = ksz8081_config_init,
        .ack_interrupt  = kszphy_ack_interrupt,
+       .soft_reset     = genphy_soft_reset,
        .config_intr    = kszphy_config_intr,
        .get_sset_count = kszphy_get_sset_count,
        .get_strings    = kszphy_get_strings,