android_kernel_xiaomi_sm8350/drivers
Ben Wolsieffer 7fbce1e46b net: stmmac: dwmac-stm32: fix resume on STM32 MCU
[ Upstream commit 6f195d6b0da3b689922ba9e302af2f49592fa9fc ]

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 21:46:44 +02:00
..
accessibility
acpi perf/smmuv3: Enable HiSilicon Erratum 162001900 quirk for HIP08/09 2023-09-23 11:00:03 +02:00
amba amba: bus: fix refcount leak 2023-09-23 10:59:52 +02:00
android binder: fix memory leak in binder_init() 2023-08-16 18:19:23 +02:00
ata ata: libata-core: Do not register PM operations for SAS ports 2023-10-10 21:46:42 +02:00
atm
auxdisplay
base regmap: rbtree: Fix wrong register marked as in-cache when creating new node 2023-10-10 21:46:43 +02:00
bcma
block rbd: take header_rwsem in rbd_dev_refresh() only when updating 2023-10-10 21:46:42 +02:00
bluetooth Bluetooth: nokia: fix value check in nokia_bluetooth_serdev_probe() 2023-09-23 10:59:42 +02:00
bus bus: ti-sysc: Fix SYSC_QUIRK_SWSUP_SIDLE_ACT handling for uart wake-up 2023-10-10 21:46:39 +02:00
cdrom
char parisc: sba: Fix compile warning wrt list of SBA devices 2023-10-10 21:46:39 +02:00
clk clk: tegra: fix error return case for recalc_rate 2023-10-10 21:46:39 +02:00
clocksource
connector
counter
cpufreq cpufreq: brcmstb-avs-cpufreq: Fix -Warray-bounds bug 2023-09-23 10:59:56 +02:00
cpuidle
crypto crypto: stm32 - fix loop iterating through scatterlist for DMA 2023-09-23 10:59:56 +02:00
dax
dca
devfreq PM / devfreq: Fix leak in devfreq_dev_release() 2023-09-23 10:59:54 +02:00
dio
dma dmaengine: ste_dma40: Add missing IRQ check in d40_probe 2023-09-23 10:59:53 +02:00
dma-buf dma-buf/sw_sync: Avoid recursive lock during fence signal 2023-08-30 16:27:28 +02:00
edac
eisa
extcon
firewire
firmware firmware: stratix10-svc: Fix an NULL vs IS_ERR() bug in probe 2023-09-23 10:59:37 +02:00
fpga
fsi fsi: master-ast-cf: Add MODULE_FIRMWARE macro 2023-09-23 10:59:37 +02:00
gnss
gpio gpio: pmic-eic-sprd: Add can_sleep flag for PMIC EIC chip 2023-10-10 21:46:39 +02:00
gpu drm/amd/display: prevent potential division by zero errors 2023-10-10 21:46:38 +02:00
greybus
hid HID: multitouch: Correct devm device reference for hidinput input_dev name 2023-09-23 10:59:52 +02:00
hsi
hv
hwmon hwmon: (nct7802) Fix for temp6 (PECI1) processed even if PECI1 disabled 2023-08-11 11:53:52 +02:00
hwspinlock
hwtracing coresight: tmc: Explicit type conversions to prevent integer overflow 2023-09-23 10:59:50 +02:00
i2c i2c: i801: unregister tco_pdev in i801_probe() error path 2023-10-10 21:46:41 +02:00
i3c
ide
idle
iio iio: addac: stx104: Fix race condition when converting analog-to-digital 2023-08-30 16:27:12 +02:00
infiniband RDMA/siw: Correct wrong debug message 2023-09-23 10:59:52 +02:00
input Input: i8042 - add quirk for TUXEDO Gemini 17 Gen1/Clevo PD70PN 2023-10-10 21:46:38 +02:00
interconnect interconnect: Do not skip aggregation for disabled paths 2023-08-30 16:27:27 +02:00
iommu iommu/vt-d: Fix to flush cache of PASID directory table 2023-09-23 10:59:50 +02:00
ipack
irqchip irqchip/mips-gic: Don't touch vl_map if a local interrupt is not routable 2023-08-30 16:27:27 +02:00
isdn mISDN: Update parameter type of dsp_cmx_send() 2023-08-16 18:19:23 +02:00
leds leds: trigger: netdev: Recheck NETDEV_LED_MODE_LINKUP on dev rename 2023-08-30 16:27:14 +02:00
lightnvm
macintosh
mailbox
mcb
md md/raid1: fix error: ISO C90 forbids mixed declarations 2023-09-23 11:00:06 +02:00
media media: pci: ipu3-cio2: Initialise timing struct to avoid a compiler warning 2023-09-23 11:00:05 +02:00
memory
memstick
message
mfd
misc misc: pci_endpoint_test: Re-init completion for every test 2023-07-27 08:37:37 +02:00
mmc mmc: sdhci-esdhc-imx: improve ESDHC_FLAG_ERR010450 2023-09-23 11:00:03 +02:00
mtd ubi: Refuse attaching if mtd's erasesize is 0 2023-10-10 21:46:43 +02:00
mux
net net: stmmac: dwmac-stm32: fix resume on STM32 MCU 2023-10-10 21:46:44 +02:00
nfc
ntb ntb: Fix calculation ntb_transport_tx_free_entry() 2023-09-23 10:59:55 +02:00
nubus
nvdimm
nvme nvme-pci: do not set the NUMA node of device if it has none 2023-10-10 21:46:40 +02:00
nvmem
of of: unittest: Fix overlay type in apply/revert check 2023-09-23 10:59:46 +02:00
opp OPP: Fix passing 0 to PTR_ERR in _opp_attach_genpd() 2023-09-23 10:59:40 +02:00
oprofile
parisc parisc: iosapic.c: Fix sparse warnings 2023-10-10 21:46:39 +02:00
parport
pci Revert "PCI: qcom: Disable write access to read only registers for IP v2.3.3" 2023-10-10 21:46:42 +02:00
pcmcia pcmcia: rsrc_nonstatic: Fix memory leak in nonstatic_release_resource_db() 2023-08-30 16:27:10 +02:00
perf perf/smmuv3: Enable HiSilicon Erratum 162001900 quirk for HIP08/09 2023-09-23 11:00:03 +02:00
phy phy/rockchip: inno-hdmi: do not power on rk3328 post pll on reg write 2023-09-23 10:59:53 +02:00
pinctrl pinctrl: amd: Don't show Invalid config param errors 2023-09-23 10:59:37 +02:00
platform platform/mellanox: mlxbf-tmfifo: Drop jumbo frames 2023-09-23 11:00:02 +02:00
pnp
power
powercap
pps
ps3
ptp
pwm pwm: lpc32xx: Remove handling of PWM channels 2023-09-23 10:59:58 +02:00
rapidio
ras
regulator
remoteproc
reset
rpmsg rpmsg: glink: Add check for kstrdup 2023-09-23 10:59:53 +02:00
rtc rtc: ds1685: use EXPORT_SYMBOL_GPL for ds1685_rtc_poweroff 2023-09-23 10:59:36 +02:00
s390 scsi: zfcp: Fix a double put in zfcp_port_enqueue() 2023-10-10 21:46:42 +02:00
sbus
scsi scsi: qla2xxx: Fix deletion race condition 2023-10-10 21:46:38 +02:00
sfi
sh
siox
slimbus
soc soc: qcom: qmi_encdec: Restrict string length in decode 2023-09-23 10:59:57 +02:00
soundwire
spi spi: nxp-fspi: reset the FLSHxCR1 registers 2023-10-10 21:46:40 +02:00
spmi
ssb
staging staging: rtl8712: fix race condition 2023-09-23 10:59:37 +02:00
target scsi: target: core: Fix deadlock due to recursive locking 2023-10-10 21:46:43 +02:00
tc
tee
thermal
thunderbolt
tty serial: 8250_port: Check IRQ data before use 2023-10-10 21:46:41 +02:00
uio
usb usb: gadget: fsl_qe_udc: validate endpoint index for ch9 udc 2023-09-23 11:00:05 +02:00
vfio
vhost
video fbdev/sh7760fb: Depend on FB=y 2023-10-10 21:46:40 +02:00
virt
virtio virtio_ring: fix avail_wrap_counter in virtqueue_add_packed 2023-09-23 10:59:53 +02:00
visorbus
vlynq
vme
w1
watchdog watchdog: iTCO_wdt: Set NO_REBOOT if the watchdog is not already running 2023-10-10 21:46:40 +02:00
xen
zorro
Kconfig
Makefile