linux/drivers/net/phy
Florian Fainelli d92f5dec63 net: phy: re-apply PHY fixups during phy_register_device
Commit 87aa9f9c61 ("net: phy: consolidate PHY reset in phy_init_hw()")
moved the call to phy_scan_fixups() in phy_init_hw() after a software
reset is performed.

By the time phy_init_hw() is called in phy_device_register(), no driver
has been bound to this PHY yet, so all the checks in phy_init_hw()
against the PHY driver and the PHY driver's config_init function will
return 0. We will therefore never call phy_scan_fixups() as we should.

Fix this by calling phy_scan_fixups() and check for its return value to
restore the intended functionality.

This broke PHY drivers which do register an early PHY fixup callback to
intercept the PHY probing and do things like changing the 32-bits unique
PHY identifier when a pseudo-PHY address has been used, as well as
board-specific PHY fixups that need to be applied during driver probe
time.

Reported-by: Hauke Merthens <hauke-m@hauke-m.de>
Reported-by: Jonas Gorski <jogo@openwrt.org>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-07-29 12:25:57 -07:00
..
Kconfig amd-xgbe: Configuration and build support 2014-06-05 15:26:51 -07:00
Makefile amd-xgbe: Configuration and build support 2014-06-05 15:26:51 -07:00
amd-xgbe-phy.c amd-xgbe: fix unused variable compilation warning in phylib driver 2014-06-11 00:13:16 -07:00
amd.c
at803x.c net: phy: at803x: fix coccinelle warnings 2014-06-22 17:16:02 -07:00
bcm7xxx.c
bcm63xx.c
bcm87xx.c
broadcom.c
cicada.c
davicom.c
dp83640.c dp83640: Always decode received status frames 2014-07-09 17:00:34 -07:00
dp83640_reg.h
et1011c.c
fixed.c net: phy: extend fixed driver with fixed_phy_register() 2014-05-16 17:18:49 -04:00
icplus.c
lxt.c
marvell.c
mdio-bitbang.c
mdio-gpio.c net: mdio-gpio: warn about missing bus alias id 2014-05-09 15:51:19 -04:00
mdio-moxart.c
mdio-mux-gpio.c
mdio-mux-mmioreg.c
mdio-mux.c
mdio-octeon.c
mdio-sun4i.c
mdio_bus.c net: phy: Set the driver when registering an MDIO bus device 2014-07-24 18:09:52 -07:00
micrel.c ARM: i.MX6: Add OF configuration support for ksz9031 2014-05-07 16:51:09 -04:00
national.c
phy.c net: phylib: add link_change_notify callback to phy device 2014-06-21 15:50:00 -07:00
phy_device.c net: phy: re-apply PHY fixups during phy_register_device 2014-07-29 12:25:57 -07:00
qsemi.c
realtek.c net: phy: realtek: register/unregister multiple drivers properly 2014-06-11 15:17:27 -07:00
smsc.c net/phy: Remove return value for void function 2014-04-23 15:28:05 -04:00
spi_ks8995.c
ste10Xp.c
vitesse.c net/phy: Remove return value for void function 2014-04-23 15:28:05 -04:00