linux/drivers/net/phy
Grygorii Strashko 623bfb5818 net: phy: micrel: ksz9031: reconfigure autoneg after phy autoneg workaround
[ Upstream commit c1a8d0a3ac ]

Under some circumstances driver will perform PHY reset in
ksz9031_read_status() to fix autoneg failure case (idle error count =
0xFF). When this happens ksz9031 will not detect link status change any
more when connecting to Netgear 1G switch (link can be recovered sometimes by
restarting netdevice "ifconfig down up"). Reproduced with TI am572x board
equipped with ksz9031 PHY while connecting to Netgear 1G switch.

Fix the issue by reconfiguring autonegotiation after PHY reset in
ksz9031_read_status().

Fixes: d2fd719bcb ("net/phy: micrel: Add workaround for bad autoneg")
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-01-02 20:33:26 +01:00
..
amd.c
aquantia.c net: phy: aquantia/teranetics: Convert to use module_phy_driver macro 2015-10-14 19:01:16 -07:00
at803x.c net: phy: at803x: Change error to EINVAL for invalid MAC 2017-12-25 14:22:14 +01:00
bcm-cygnus.c net: phy: Broadcom Cygnus internal Etherent PHY driver 2015-10-08 04:45:52 -07:00
bcm-phy-lib.c net: phy: bcm-phy-lib: Fix module license issue 2015-10-18 19:35:10 -07:00
bcm-phy-lib.h net: phy: Add Broadcom phy library for common interfaces 2015-10-08 04:45:46 -07:00
bcm7xxx.c net: phy: bcm7xxx: Modified to use global core register defines 2015-10-08 04:45:53 -07:00
bcm63xx.c net: phy: bcm63xx: Utilize correct config_intr function 2017-02-04 09:45:09 +01:00
bcm87xx.c
broadcom.c broadcom: fix PHY_ID_BCM5481 entry in the id table 2015-11-23 23:29:27 -05:00
cicada.c
davicom.c
dp83640_reg.h
dp83640.c net: dp83640: Avoid NULL pointer dereference. 2017-07-21 07:44:54 +02:00
dp83848.c net: phy: dp83848: Add TI DP83848 Ethernet PHY 2015-10-22 06:37:19 -07:00
dp83867.c net: phy: dp83867: fix irq generation 2017-08-11 09:08:56 -07:00
et1011c.c
fixed_phy.c phy: fixed-phy: properly validate phy in fixed_phy_update_state() 2015-09-24 23:04:53 -07:00
icplus.c
Kconfig Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-10-24 06:54:12 -07:00
lxt.c
Makefile Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-10-24 06:54:12 -07:00
marvell.c net: phy: fix marvell phy status reading 2017-06-29 12:48:53 +02:00
mdio_bus.c net: phy: Add nested variants of mdiobus read/write 2015-10-23 05:57:43 -07:00
mdio-bcm-iproc.c net: phy: Initialize mdio clock at probe function 2017-06-29 12:48:53 +02:00
mdio-bcm-unimac.c net: phy: mdio-bcm-unimac: Fix module autoload for OF platform driver 2015-09-21 16:11:20 -07:00
mdio-bitbang.c
mdio-gpio.c net: mdio-gpio: move platform data header 2015-10-21 19:50:44 -07:00
mdio-moxart.c
mdio-mux-gpio.c
mdio-mux-mmioreg.c net: phy: mdio: add missing of_node_put 2015-10-26 22:08:12 -07:00
mdio-mux.c net: phy: mdio-mux: Check return value of mdiobus_alloc() 2015-12-14 14:27:40 -05:00
mdio-octeon.c
mdio-sun4i.c
micrel.c net: phy: micrel: ksz9031: reconfigure autoneg after phy autoneg workaround 2018-01-02 20:33:26 +01:00
microchip.c add microchip LAN88xx phy driver 2015-09-09 17:19:14 -07:00
national.c
phy_device.c net: phy: Fix PHY unbind crash 2017-08-11 09:08:55 -07:00
phy.c Revert "net: phy: Correctly process PHY_HALTED in phy_stop_machine()" 2017-09-27 11:00:11 +02:00
qsemi.c
realtek.c
smsc.c net: phy: smsc: disable energy detect mode 2015-10-21 06:41:44 -07:00
spi_ks8995.c spi_ks8995: fix "BUG: key accdaa28 not in .data!" 2017-12-16 10:33:53 +01:00
ste10Xp.c
teranetics.c net: phy: aquantia/teranetics: Convert to use module_phy_driver macro 2015-10-14 19:01:16 -07:00
vitesse.c net: phy: vitesse: add support for VSC8601 2015-11-16 14:18:40 -05:00