mirror-linux/drivers/net
Ben Wolsieffer f2697457ab net: stmmac: dwmac-stm32: fix resume on STM32 MCU
[ Upstream commit 6f195d6b0d ]

The STM32MP1 keeps clk_rx enabled during suspend, and therefore the
driver does not enable the clock in stm32_dwmac_init() if the device was
suspended. The problem is that this same code runs on STM32 MCUs, which
do disable clk_rx during suspend, causing the clock to never be
re-enabled on resume.

This patch adds a variant flag to indicate that clk_rx remains enabled
during suspend, and uses this to decide whether to enable the clock in
stm32_dwmac_init() if the device was suspended.

This approach fixes this specific bug with limited opportunity for
unintended side-effects, but I have a follow up patch that will refactor
the clock configuration and hopefully make it less error prone.

Fixes: 6528e02cc9 ("net: ethernet: stmmac: add adaptation for stm32mp157c.")
Signed-off-by: Ben Wolsieffer <ben.wolsieffer@hefring.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Link: https://lore.kernel.org/r/20230927175749.1419774-1-ben.wolsieffer@hefring.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-10-10 22:00:43 +02:00
..
appletalk
arcnet net: arcnet: Do not call kfree_skb() under local_irq_disable() 2023-09-13 09:42:35 +02:00
bonding bonding: fix macvlan over alb bond support 2023-08-30 16:11:04 +02:00
caif
can can: sun4i_can: Add support for the Allwinner D1 2023-09-23 11:11:02 +02:00
dsa net: dsa: mv88e6xxx: Avoid EEPROM timeout when EEPROM is absent 2023-10-10 22:00:42 +02:00
ethernet net: stmmac: dwmac-stm32: fix resume on STM32 MCU 2023-10-10 22:00:43 +02:00
fddi
fjes
hamradio
hippi
hyperv
ieee802154
ipa net: ipa: only reset hashed tables when supported 2023-08-11 12:08:09 +02:00
ipvlan ipvlan: Fix a reference count leak warning in ipvlan_ns_exit() 2023-08-30 16:11:01 +02:00
mctp
mdio
netdevsim netdevsim: fix uninitialized data in nsim_dev_trap_fa_cookie_write() 2023-07-23 13:49:27 +02:00
pcs net: pcs: Add missing put_device call in miic_create 2023-08-23 17:52:33 +02:00
phy net: sfp: handle 100G/25G active optical cables in sfp_parse_support 2023-09-13 09:42:25 +02:00
plip
ppp
pse-pd
slip
team team: fix null-ptr-deref when team device type is changed 2023-10-06 14:56:41 +02:00
usb net: usb: smsc75xx: Fix uninit-value access in __smsc75xx_read_reg 2023-10-10 22:00:42 +02:00
vmxnet3
vxlan neighbour: annotate lockless accesses to n->nud_state 2023-10-10 22:00:42 +02:00
wan drivers/net: process the result of hdlc_open() and add call of hdlc_close() in uhdlc_close() 2023-10-10 22:00:40 +02:00
wireguard wireguard: allowedips: expand maximum node depth 2023-08-16 18:27:20 +02:00
wireless wifi: mt76: mt76x02: fix MT76x0 external LNA gain handling 2023-10-10 22:00:40 +02:00
wwan
xen-netback xen/netback: Fix buffer overrun triggered by unusual packet 2023-08-08 20:03:51 +02:00
Kconfig
LICENSE.SRC
Makefile
Space.c
amt.c
bareudp.c
dummy.c
eql.c
geneve.c
gtp.c
ifb.c
loopback.c
macsec.c Revert "net: macsec: preserve ingress frame ordering" 2023-09-13 09:42:26 +02:00
macvlan.c
macvtap.c
mdio.c
mhi_net.c
mii.c
net_failover.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
sungem_phy.c
tap.c net: tap_open(): set sk_uid from current_fsuid() 2023-08-11 12:08:20 +02:00
thunderbolt.c net: thunderbolt: Fix TCPv6 GSO checksum calculation 2023-10-06 14:57:04 +02:00
tun.c drivers: net: prevent tun_build_skb() to exceed the packet size limit 2023-08-16 18:27:27 +02:00
veth.c veth: Fixing transmit return status for dropped packets 2023-09-19 12:28:02 +02:00
virtio_net.c virtio-net: Zero max_tx_vq field for VIRTIO_NET_CTRL_MQ_HASH_CONFIG case 2023-08-23 17:52:39 +02:00
vrf.c
vsockmon.c
xen-netfront.c