1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/net/phy
Michael Walle 8f7e876273 net: phy: at803x: fix probe error if copper page is selected
The commit c329e5afb4 ("net: phy: at803x: select correct page on
config init") selects the copper page during probe. This fails if the
copper page was already selected. In this case, the value of the copper
page (which is 1) is propagated through phy_restore_page() and is
finally returned for at803x_probe(). Fix it, by just using the
at803x_page_write() directly.

Also in case of an error, the regulator is not disabled and leads to a
WARN_ON() when the probe fails. This couldn't happen before, because
at803x_parse_dt() was the last call in at803x_probe(). It is hard to
see, that the parse_dt() actually enables the regulator. Thus move the
regulator_enable() to the probe function and undo it in case of an
error.

Fixes: c329e5afb4 ("net: phy: at803x: select correct page on config init")
Signed-off-by: Michael Walle <michael@walle.cc>
Reviewed-by: David Bauer <mail@david-bauer.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-04-20 17:08:28 -07:00
..
mscc net: phy: mscc: coma mode disabled for VSC8584 2021-03-19 12:17:30 -07:00
adin.c net: phy: adin: remove the use of the .ack_interrupt() 2020-11-17 11:37:09 -08:00
amd.c net: phy: amd: remove the use of .ack_interrupt() 2020-11-17 11:37:00 -08:00
aquantia.h net: phy: Use the correct style for SPDX License Identifier 2019-11-27 11:25:48 -08:00
aquantia_hwmon.c net: phy: aquantia: add hwmon support 2019-02-25 14:16:22 -08:00
aquantia_main.c net: phy: aquantia: do not return an error on clearing pending IRQs 2020-11-11 14:09:54 -08:00
at803x.c net: phy: at803x: fix probe error if copper page is selected 2021-04-20 17:08:28 -07:00
ax88796b.c net: phy: rename Asix Electronics PHY driver 2019-06-09 13:24:17 -07:00
bcm-cygnus.c net: phy: broadcom: remove use of ack_interrupt() 2020-11-05 16:32:39 -08:00
bcm-phy-lib.c net: phy: broadcom: Only advertise EEE for supported modes 2021-03-30 17:39:23 -07:00
bcm-phy-lib.h net: phy: broadcom: implement generic .handle_interrupt() callback 2020-11-05 16:32:27 -08:00
bcm7xxx.c net: phy: bcm7xxx: Add an entry for BCM72116 2021-01-07 14:46:09 -08:00
bcm63xx.c net: phy: broadcom: remove use of ack_interrupt() 2020-11-05 16:32:39 -08:00
bcm87xx.c net: phy: broadcom: remove use of ack_interrupt() 2020-11-05 16:32:39 -08:00
bcm54140.c net: phy: broadcom: remove use of ack_interrupt() 2020-11-05 16:32:39 -08:00
bcm84881.c net: phy: bcm84881: clear settings on link down 2020-04-23 15:55:35 -07:00
broadcom.c net: phy: broadcom: Add statistics for all Gigabit PHYs 2021-04-01 15:59:26 -07:00
cicada.c net: phy: cicada: remove the use of .ack_interrupt() 2020-11-05 16:32:39 -08:00
cortina.c net: mdiobus: add clause 45 mdiobus accessors 2020-05-26 15:31:45 -07:00
davicom.c net: phy: davicom: remove the use of .ack_interrupt() 2020-11-05 16:32:39 -08:00
dp83tc811.c net: phy: ti: take into account all possible interrupt sources 2021-03-01 11:46:55 -08:00
dp83640.c net: phy: dp83640: use new PTP_MSGTYPE_SYNC define 2020-11-25 12:23:06 -08:00
dp83640_reg.h
dp83822.c net: phy: ti: take into account all possible interrupt sources 2021-03-01 11:46:55 -08:00
dp83848.c net: phy: ti: remove the use of .ack_interrupt() 2020-11-25 11:18:38 -08:00
dp83867.c net: phy: ti: remove the use of .ack_interrupt() 2020-11-25 11:18:38 -08:00
dp83869.c net: phy: introduce phydev->port 2021-02-11 13:09:58 -08:00
et1011c.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
fixed_phy.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
icplus.c net: phy: icplus: call phy_restore_page() when phy_select_page() fails 2021-02-22 18:47:48 -08:00
intel-xway.c net: phy: intel-xway: remove the use of .ack_interrupt() 2020-11-25 11:18:37 -08:00
Kconfig phy: nxp-c45: add driver for tja1103 2021-04-19 16:19:44 -07:00
linkmode.c net: add linkmode helper for setting flow control advertisement 2020-02-16 19:39:44 -08:00
lxt.c net: phy: introduce phydev->port 2021-02-11 13:09:58 -08:00
Makefile phy: nxp-c45: add driver for tja1103 2021-04-19 16:19:44 -07:00
marvell-88x2222.c net: phy: marvell-88x2222: swap 1G/10G modes on autoneg 2021-04-14 12:56:44 -07:00
marvell.c net: phy: marvell: add support for Amethyst internal PHY 2021-04-20 16:27:54 -07:00
marvell10g.c net: phy: marvell10g: change module description 2021-04-08 13:15:34 -07:00
mdio-boardinfo.c net: phy: Correct function name mdiobus_register_board_info() in comment 2021-03-29 13:42:44 -07:00
mdio-boardinfo.h
mdio_bus.c net: phy: remove repeated word 2021-03-30 16:56:39 -07:00
mdio_device.c net: mdio device: use flexible sleeping in reset function 2020-08-03 15:01:02 -07:00
mdio_devres.c of: mdio: provide devm_of_mdiobus_register() 2020-06-30 15:57:34 -07:00
meson-gxl.c net: phy: meson-gxl: remove the use of .ack_callback() 2020-11-25 11:18:37 -08:00
micrel.c net: phy: micrel: set soft_reset callback to genphy_soft_reset for KSZ8081 2021-02-25 09:51:31 -08:00
microchip.c net: phy: microchip: remove the use of .ack_interrupt() 2020-11-17 11:36:59 -08:00
microchip_t1.c net: phy: microchip: remove the use of .ack_interrupt() 2020-11-17 11:36:59 -08:00
mii_timestamper.c net: mii_timestamper: fix static allocation by PHY driver 2020-01-31 07:46:11 -08:00
national.c net: phy: national: remove definition of DEBUG 2021-01-18 20:03:01 -08:00
nxp-c45-tja11xx.c phy: nxp-c45-tja11xx: fix phase offset calculation 2021-04-20 16:58:46 -07:00
nxp-tja11xx.c net: phy: nxp-tja11xx: remove the use of .ack_interrupt() 2020-11-17 11:37:00 -08:00
phy-c45.c net: phy: add genphy_c45_pma_suspend/resume 2021-04-19 16:19:44 -07:00
phy-core.c net: phy: Document core PHY structures 2020-09-23 18:02:49 -07:00
phy.c net: phy: genphy_loopback: add link speed configuration 2021-04-20 16:08:02 -07:00
phy_device.c net: phy: genphy_loopback: add link speed configuration 2021-04-20 16:08:02 -07:00
phy_led_triggers.c net: phy: leds: Deduplicate link LED trigger registration 2020-10-30 10:43:37 -07:00
phylink.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-03-25 15:31:22 -07:00
qsemi.c net: phy: qsemi: remove the use of .ack_interrupt() 2020-11-25 11:18:38 -08:00
realtek.c net: phy: realtek: Add support for RTL9000AA/AN 2021-01-22 18:06:42 -08:00
rockchip.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
sfp-bus.c phy: sfp: add netlink SFP support to generic SFP code 2021-04-11 16:34:56 -07:00
sfp.c phy: sfp: add netlink SFP support to generic SFP code 2021-04-11 16:34:56 -07:00
sfp.h phy: sfp: add netlink SFP support to generic SFP code 2021-04-11 16:34:56 -07:00
smsc.c net: phy: lan87xx: fix access to wrong register of LAN87xx 2021-03-30 13:13:08 -07:00
spi_ks8995.c net: Use kobj_to_dev() API 2020-09-28 15:14:42 -07:00
ste10Xp.c net: phy: ste10Xp: remove the use of .ack_interrupt() 2020-11-17 11:37:00 -08:00
swphy.c Update rmk's email address in various drivers 2020-04-21 17:50:09 +01:00
swphy.h
teranetics.c net: phy: remove genphy_no_soft_reset 2020-04-24 16:47:51 -07:00
uPD60620.c net: phy: use phy_resolve_aneg_pause() 2019-12-19 12:52:34 -08:00
vitesse.c net: phy: vitesse: remove the use of .ack_interrupt() 2020-11-17 11:36:59 -08:00
xilinx_gmii2rgmii.c net: phy: gmii2rgmii: Dont use priv field in phy device 2019-09-05 12:32:06 +02:00