linux/drivers/net/ethernet/stmicro/stmmac
Thierry Reding 134cc4cefa net: stmmac: Avoid deadlock on suspend/resume
The stmmac driver will try to acquire its private mutex during suspend
via phylink_resolve() -> stmmac_mac_link_down() -> stmmac_eee_init().
However, the phylink configuration is updated with the private mutex
held already, which causes a deadlock during suspend.

Fix this by moving the phylink configuration updates out of the region
of code protected by the private mutex.

Fixes: 19e13cb27b ("net: stmmac: Hold rtnl lock in suspend/resume callbacks")
Suggested-by: Bitan Biswas <bbiswas@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-10-02 17:21:26 -07:00
..
Kconfig net: stmmac: depend on COMMON_CLK 2019-08-30 14:35:02 -07:00
Makefile net: stmmac: Introduce selftests support 2019-05-24 13:45:56 -07:00
altr_tse_pcs.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
altr_tse_pcs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
chain_mode.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 291 2019-06-05 17:36:38 +02:00
common.h net: stmmac: xgmac: Implement ARP Offload 2019-09-05 12:19:54 +02:00
descs.h net: stmmac: Fix misuses of GENMASK macro 2019-07-11 14:30:07 -07:00
descs_com.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 291 2019-06-05 17:36:38 +02:00
dwmac-anarion.c net: stmmac: dwmac-anarion: use devm_platform_ioremap_resource() to simplify code 2019-08-21 13:52:33 -07:00
dwmac-dwc-qos-eth.c net: stmmac: dwc-qos: use devm_platform_ioremap_resource() to simplify code 2019-08-21 13:52:34 -07:00
dwmac-generic.c net: stmmac: Add the bindings parsing for XGMAC2 2018-08-09 11:16:28 -07:00
dwmac-ipq806x.c net: ethernet: stmmac: Fix signedness bug in ipq806x_gmac_of_parse() 2019-09-27 10:21:44 +02:00
dwmac-lpc18xx.c
dwmac-mediatek.c net: stmmac: dwmac-mediatek: disable rx watchdog 2019-06-05 17:03:14 -07:00
dwmac-meson.c net: stmmac: dwmac-meson: use devm_platform_ioremap_resource() to simplify code 2019-08-21 13:52:33 -07:00
dwmac-meson8b.c net: stmmac: dwmac-meson8b: Fix signedness bug in probe 2019-09-27 10:15:11 +02:00
dwmac-oxnas.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 446 2019-06-05 17:37:18 +02:00
dwmac-qcom-ethqos.c net: stmmac: Fix return value check in qcom_ethqos_probe() 2019-01-24 22:13:03 -08:00
dwmac-rk.c net: stmmac: dwmac-rk: Don't fail if phy regulator is absent 2019-08-30 14:16:26 -07:00
dwmac-socfpga.c net: stmmac: socfpga: re-use the `interface` parameter from platform data 2019-09-16 09:22:24 +02:00
dwmac-sti.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
dwmac-stm32.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
dwmac-sun8i.c net: stmmac: dwmac-sun8i: Variable "val" in function sun8i_dwmac_set_syscon() could be uninitialized 2019-09-02 11:48:15 -07:00
dwmac-sunxi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
dwmac4.h net: stmmac: ARP Offload for GMAC4+ Cores 2019-09-11 09:21:34 +01:00
dwmac4_core.c net: stmmac: dwmac4: Always update the MAC Hash Filter 2019-10-01 10:12:37 -07:00
dwmac4_descs.c net: stmmac: Add support for VLAN Insertion Offload in GMAC4+ 2019-09-11 09:21:34 +01:00
dwmac4_descs.h net: stmmac: Add support for VLAN Insertion Offload in GMAC4+ 2019-09-11 09:21:34 +01:00
dwmac4_dma.c net: stmmac: ARP Offload for GMAC4+ Cores 2019-09-11 09:21:34 +01:00
dwmac4_dma.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 2019-06-05 17:37:15 +02:00
dwmac4_lib.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-06-17 20:20:36 -07:00
dwmac5.c
dwmac5.h
dwmac100.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 291 2019-06-05 17:36:38 +02:00
dwmac100_core.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-06-17 20:20:36 -07:00
dwmac100_dma.c net: stmmac: Fix descriptors address being in > 32 bits address space 2019-07-09 12:20:08 -07:00
dwmac1000.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-06-17 20:20:36 -07:00
dwmac1000_core.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-06-17 20:20:36 -07:00
dwmac1000_dma.c net: stmmac: Fix descriptors address being in > 32 bits address space 2019-07-09 12:20:08 -07:00
dwmac_dma.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 291 2019-06-05 17:36:38 +02:00
dwmac_lib.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 291 2019-06-05 17:36:38 +02:00
dwxgmac2.h net: stmmac: xgmac: Disable the Timestamp interrupt by default 2019-10-01 10:12:37 -07:00
dwxgmac2_core.c net: stmmac: xgmac: Fix RSS writing wrong keys 2019-10-01 10:12:38 -07:00
dwxgmac2_descs.c net: stmmac: Add support for VLAN Insertion Offload 2019-08-17 12:43:59 -07:00
dwxgmac2_dma.c net: stmmac: xgmac: Detect Hash Table size dinamically 2019-10-01 10:12:37 -07:00
enh_desc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 291 2019-06-05 17:36:38 +02:00
hwif.c net: stmmac: xgmac: Implement MMC counters 2019-08-08 22:20:18 -07:00
hwif.h net: stmmac: xgmac: Implement ARP Offload 2019-09-05 12:19:54 +02:00
mmc.h net: stmmac: xgmac: Implement MMC counters 2019-08-08 22:20:18 -07:00
mmc_core.c net: stmmac: xgmac: Implement MMC counters 2019-08-08 22:20:18 -07:00
norm_desc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 291 2019-06-05 17:36:38 +02:00
ring_mode.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 291 2019-06-05 17:36:38 +02:00
stmmac.h net: stmmac: Implement L3/L4 Filters using TC Flower 2019-09-05 12:19:54 +02:00
stmmac_ethtool.c net: stmmac: ethtool: Let user configure TX coalesce without RIWT 2019-09-05 12:19:54 +02:00
stmmac_hwtstamp.c net: stmmac: fixed new system time seconds value calculation 2019-06-22 16:16:23 -07:00
stmmac_main.c net: stmmac: Avoid deadlock on suspend/resume 2019-10-02 17:21:26 -07:00
stmmac_mdio.c net: stmmac: Make MDIO bus reset optional 2019-07-27 13:52:26 -07:00
stmmac_pci.c net: stmmac: pci: Add HAPS support using GMAC5 2019-09-11 23:50:06 +01:00
stmmac_pcs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
stmmac_platform.c net: stmmac: implement support for passive mode converters via dt 2019-09-11 15:27:09 +01:00
stmmac_platform.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 291 2019-06-05 17:36:38 +02:00
stmmac_ptp.c net: stmmac: setup higher frequency clk support for EHL & TGL 2019-08-27 21:59:38 -07:00
stmmac_ptp.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 291 2019-06-05 17:36:38 +02:00
stmmac_selftests.c net: stmmac: selftests: Always use max DMA size in Jumbo Test 2019-10-01 10:12:37 -07:00
stmmac_tc.c net: stmmac: Implement L3/L4 Filters using TC Flower 2019-09-05 12:19:54 +02:00