WSL2-Linux-Kernel/drivers/net/phy
Claudiu Beznea f1131b9c23 net: phy: micrel: use kszphy_suspend()/kszphy_resume for irq aware devices
On a setup with KSZ9131 and MACB drivers it happens on suspend path, from
time to time, that the PHY interrupt arrives after PHY and MACB were
suspended (PHY via genphy_suspend(), MACB via macb_suspend()). In this
case the phy_read() at the beginning of kszphy_handle_interrupt() will
fail (as MACB driver is suspended at this time) leading to phy_error()
being called and a stack trace being displayed on console. To solve this
.suspend/.resume functions for all KSZ devices implementing
.handle_interrupt were replaced with kszphy_suspend()/kszphy_resume()
which disable/enable interrupt before/after calling
genphy_suspend()/genphy_resume().

The fix has been adapted for all KSZ devices which implements
.handle_interrupt but it has been tested only on KSZ9131.

Fixes: 59ca4e58b9 ("net: phy: micrel: implement generic .handle_interrupt() callback")
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-01-19 14:23:34 +00:00
..
mscc net_tstamp: add new flag HWTSTAMP_FLAG_BONDED_PHC_INDEX 2021-12-14 12:28:24 +00:00
Kconfig ethernet: fix PTP_1588_CLOCK dependencies 2021-08-13 17:49:05 -07:00
Makefile net: phy: add Maxlinear GPY115/21x/24x driver 2021-07-20 06:55:20 -07:00
adin.c net: phy: Demote non-compliant kernel-doc headers 2021-05-17 14:12:39 -07:00
amd.c net: phy: amd: remove the use of .ack_interrupt() 2020-11-17 11:37:00 -08:00
aquantia.h
aquantia_hwmon.c
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: make array offsets static 2022-01-11 21:09:10 -08:00
ax88796b.c net: usb/phy: asix: add support for ax88772A/C PHYs 2021-06-07 13:23:02 -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 EPHY entry for 7712 2021-10-24 13:42:28 +01:00
bcm63xx.c net: phy: broadcom: remove use of ack_interrupt() 2020-11-05 16:32:39 -08:00
bcm87xx.c net: phy: change format of some declarations 2021-06-16 12:34:07 -07:00
bcm54140.c net: phy: broadcom: remove use of ack_interrupt() 2020-11-05 16:32:39 -08:00
bcm84881.c
broadcom.c net: phy: broadcom: Utilize appropriate suspend for BCM54810/11 2021-09-21 10:58:35 +01:00
cicada.c net: phy: cicada: remove the use of .ack_interrupt() 2020-11-05 16:32:39 -08:00
cortina.c
davicom.c net: phy: fix space alignment issues 2021-06-16 12:34:07 -07:00
dp83tc811.c net: phy: ti: take into account all possible interrupt sources 2021-03-01 11:46:55 -08:00
dp83640.c net_tstamp: add new flag HWTSTAMP_FLAG_BONDED_PHC_INDEX 2021-12-14 12:28:24 +00:00
dp83640_reg.h ptp: dp83640: don't define PAGE0 2021-09-14 20:03:24 -07:00
dp83822.c net: phy: Fix data type in DP83822 dp8382x_disable_wol() 2021-07-18 09:46:34 -07:00
dp83848.c net: phy: ti: remove the use of .ack_interrupt() 2020-11-25 11:18:38 -08:00
dp83867.c net: phy: constify netdev->dev_addr references 2021-10-24 13:59:44 +01:00
dp83869.c net: phy: add support for TI DP83561-SP phy 2021-11-19 20:13:07 -08:00
et1011c.c net: phy: remove unnecessary line continuation 2021-06-16 12:34:07 -07:00
fixed_phy.c Revert "net: phy: fixed_phy: Fix NULL vs IS_ERR() checking in __fixed_phy_register" 2022-01-03 18:59:16 -08: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: Add RGMII internal delay configuration 2021-07-20 07:23:16 -07:00
linkmode.c
lxt.c net: phy: correct format of block comments 2021-06-16 12:34:07 -07:00
marvell-88x2222.c net: phy: marvell-88x2222: enable autoneg by default 2021-04-27 14:05:41 -07:00
marvell.c net: phy: marvell: add Marvell specific PHY loopback 2022-01-15 22:38:27 +00:00
marvell10g.c net: phy: marvell10g: add downshift tunable support 2021-09-30 13:22:46 +01: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: mdio: Demote probed message to debug print 2022-01-03 19:05:39 -08:00
mdio_device.c net: mdio: introduce a shutdown method to mdio device drivers 2021-09-19 12:08:37 +01:00
mdio_devres.c
mediatek-ge.c net: phy: mediatek: add the missing suspend/resume callbacks 2021-08-24 16:52:43 -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: use kszphy_suspend()/kszphy_resume for irq aware devices 2022-01-19 14:23:34 +00: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_t1: add lan87xx_config_rgmii_delay for lan87xx phy 2021-11-02 17:16:27 -07:00
mii_timestamper.c net: mii_timestamper: check NULL in unregister_mii_timestamper() 2021-06-11 13:08:52 -07:00
motorcomm.c net: phy: abort loading yt8511 driver in unsupported modes 2021-05-30 14:24:38 -07:00
mxl-gpy.c net: phy: enhance GPY115 loopback disable function 2021-09-27 13:49:38 +01:00
national.c net: phy: correct format of block comments 2021-06-16 12:34:07 -07:00
nxp-c45-tja11xx.c phy: nxp-c45-tja11xx: add extts and perout support 2022-01-04 12:14:19 +00:00
nxp-tja11xx.c net: phy: nxp-tja11xx: log critical health state 2021-08-12 10:51:45 +01:00
phy-c45.c net: phy: fixed warning: Function parameter not described 2021-10-26 14:09:50 -07:00
phy-core.c net: phy: prefer 1000baseT over 1000baseKX 2021-12-09 11:51:50 -08:00
phy.c net: phy: fix duplex out of sync problem while changing settings 2021-11-04 16:46:29 -07:00
phy_device.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-10-14 16:50:14 -07:00
phy_led_triggers.c net: phy: leds: Deduplicate link LED trigger registration 2020-10-30 10:43:37 -07:00
phylink.c net: phylink: add pcs_validate() method 2021-12-16 10:37:13 +00:00
qsemi.c net: phy: change format of some declarations 2021-06-16 12:34:07 -07:00
realtek.c net: phy: realtek: add support for RTL8365MB-VC internal PHYs 2021-10-18 14:02:56 +01:00
rockchip.c net: phy: Demote non-compliant kernel-doc headers 2021-05-17 14:12:39 -07:00
sfp-bus.c net: convert users of bitmap_foo() to linkmode_foo() 2021-10-24 13:58:52 +01:00
sfp.c net: sfp: fix high power modules without diagnostic monitoring 2022-01-17 16:30:44 +00: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: phy: fix space alignment issues 2021-06-16 12:34:07 -07:00
ste10Xp.c net: phy: fix space alignment issues 2021-06-16 12:34:07 -07:00
swphy.c
swphy.h
teranetics.c
uPD60620.c
vitesse.c net: phy: correct format of block comments 2021-06-16 12:34:07 -07:00
xilinx_gmii2rgmii.c net: phy: gmii2rgmii: Support PHY loopback 2021-08-20 14:31:46 +01:00