Stefan Wahren
b0de20de29
mailbox: bcm2835: Fix timeout during suspend mode
...
[ Upstream commit dc09f007caed3b2f6a3b6bd7e13777557ae22bfd ]
During noirq suspend phase the Raspberry Pi power driver suffer of
firmware property timeouts. The reason is that the IRQ of the underlying
BCM2835 mailbox is disabled and rpi_firmware_property_list() will always
run into a timeout [1].
Since the VideoCore side isn't consider as a wakeup source, set the
IRQF_NO_SUSPEND flag for the mailbox IRQ in order to keep it enabled
during suspend-resume cycle.
[1]
PM: late suspend of devices complete after 1.754 msecs
WARNING: CPU: 0 PID: 438 at drivers/firmware/raspberrypi.c:128
rpi_firmware_property_list+0x204/0x22c
Firmware transaction 0x00028001 timeout
Modules linked in:
CPU: 0 PID: 438 Comm: bash Tainted: G C 6.9.3-dirty #17
Hardware name: BCM2835
Call trace:
unwind_backtrace from show_stack+0x18/0x1c
show_stack from dump_stack_lvl+0x34/0x44
dump_stack_lvl from __warn+0x88/0xec
__warn from warn_slowpath_fmt+0x7c/0xb0
warn_slowpath_fmt from rpi_firmware_property_list+0x204/0x22c
rpi_firmware_property_list from rpi_firmware_property+0x68/0x8c
rpi_firmware_property from rpi_firmware_set_power+0x54/0xc0
rpi_firmware_set_power from _genpd_power_off+0xe4/0x148
_genpd_power_off from genpd_sync_power_off+0x7c/0x11c
genpd_sync_power_off from genpd_finish_suspend+0xcc/0xe0
genpd_finish_suspend from dpm_run_callback+0x78/0xd0
dpm_run_callback from device_suspend_noirq+0xc0/0x238
device_suspend_noirq from dpm_suspend_noirq+0xb0/0x168
dpm_suspend_noirq from suspend_devices_and_enter+0x1b8/0x5ac
suspend_devices_and_enter from pm_suspend+0x254/0x2e4
pm_suspend from state_store+0xa8/0xd4
state_store from kernfs_fop_write_iter+0x154/0x1a0
kernfs_fop_write_iter from vfs_write+0x12c/0x184
vfs_write from ksys_write+0x78/0xc0
ksys_write from ret_fast_syscall+0x0/0x54
Exception stack(0xcc93dfa8 to 0xcc93dff0)
[...]
PM: noirq suspend of devices complete after 3095.584 msecs
Link: https://github.com/raspberrypi/firmware/issues/1894
Fixes: 0bae6af6d7 ("mailbox: Enable BCM2835 mailbox support")
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-08 16:20:35 +01:00
..
accessibility
acpi
ACPI: resource: Add another DMI match for the TongFang GMxXGxx
2024-11-08 16:20:34 +01:00
amba
android
binder: fix UAF caused by offsets overwrite
2024-09-12 11:03:55 +02:00
ata
ata: pata_macio: Use WARN instead of BUG
2024-09-12 11:03:55 +02:00
atm
atm: idt77252: prevent use after free in dequeue_rx()
2024-09-04 13:14:51 +02:00
auxdisplay
base
firmware_loader: Block path traversal
2024-11-08 16:20:33 +01:00
bcma
block
drbd: Add NULL check for net_conf to prevent dereference in state validation
2024-11-08 16:20:33 +01:00
bluetooth
Bluetooth: btusb: Fix not handling ZPL/short-transfer
2024-11-08 16:20:27 +01:00
bus
cdrom
char
hwrng: mtk - Use devm_pm_runtime_enable
2024-11-08 16:20:34 +01:00
clk
clk: ti: dra7-atl: Fix leak of of_nodes
2024-11-08 16:20:31 +01:00
clocksource
clocksource/drivers/qcom: Add missing iounmap() on errors in msm_dt_timer_init()
2024-11-08 16:20:28 +01:00
connector
counter
cpufreq
cpufreq: exit() callback is optional
2024-06-16 13:28:34 +02:00
cpuidle
crypto
crypto: qat - Fix ADF_DEV_RESET_SYNC memory leak
2024-06-16 13:28:51 +02:00
dax
dca
devfreq
dio
dma
dmaengine: ioatdma: Fix missing kmem_cache_destroy()
2024-07-05 09:08:23 +02:00
dma-buf
dma-buf/sw-sync: don't enable IRQ from sync_print_obj()
2024-06-16 13:28:47 +02:00
edac
EDAC, i10nm: make skx_common.o a separate module
2024-08-19 05:33:25 +02:00
eisa
extcon
extcon: max8997: select IRQ_DOMAIN instead of depending on it
2024-06-16 13:28:43 +02:00
firewire
firewire: nosy: ensure user_length is taken into account when fetching packet contents
2024-05-17 11:43:54 +02:00
firmware
firmware: turris-mox-rwtm: Initialize completion before mailbox
2024-08-19 05:33:28 +02:00
fpga
fsi
gnss
gpio
gpio: prevent potential speculation leaks in gpio_device_get_desc()
2024-11-08 16:20:26 +01:00
gpu
drm/amd/display: Round calculated vtotal
2024-11-08 16:20:33 +01:00
greybus
greybus: Fix use-after-free bug in gb_interface_release due to race condition.
2024-07-05 09:08:20 +02:00
hid
HID: cougar: fix slab-out-of-bounds Read in cougar_report_fixup
2024-09-12 11:03:54 +02:00
hsi
hv
Drivers: hv: vmbus: Fix rescind handling in uio_hv_generic
2024-09-12 11:03:55 +02:00
hwmon
hwmon: (ntc_thermistor) fix module autoloading
2024-11-08 16:20:28 +01:00
hwspinlock
hwtracing
coresight: tmc: sg: Do not leak sg_table
2024-11-08 16:20:32 +01:00
i2c
i2c: isch: Add missed 'else'
2024-11-08 16:20:35 +01:00
i3c
ide
idle
iio
iio: adc: ad7606: fix standby gpio state to match the documentation
2024-11-08 16:20:32 +01:00
infiniband
RDMA/cxgb4: Added NULL check for lookup_atid
2024-11-08 16:20:32 +01:00
input
Input: uinput - reject requests with unreasonable number of slots
2024-09-12 11:03:55 +02:00
interconnect
iommu
iommu/vt-d: Handle volatile descriptor status read
2024-09-12 11:03:53 +02:00
ipack
irqchip
irqchip/armada-370-xp: Do not allow mapping IRQ 0 and 1
2024-09-12 11:03:52 +02:00
isdn
mISDN: Fix a use after free in hfcmulti_tx()
2024-08-19 05:33:42 +02:00
leds
leds: ss4200: Convert PCIBIOS_* return codes to errnos
2024-08-19 05:33:37 +02:00
lightnvm
macintosh
macintosh/therm_windtunnel: fix module unload.
2024-08-19 05:33:34 +02:00
mailbox
mailbox: bcm2835: Fix timeout during suspend mode
2024-11-08 16:20:35 +01:00
mcb
md
dm init: Handle minors larger than 255
2024-09-12 11:03:53 +02:00
media
drivers: media: dvb-frontends/rtl2830: fix an out-of-bounds write error
2024-11-08 16:20:31 +01:00
memory
memstick
message
mfd
mfd: omap-usb-tll: Use struct_size to allocate tll
2024-08-19 05:33:32 +02:00
misc
VMCI: Fix use-after-free when removing resource in vmci_resource_remove()
2024-09-12 11:03:55 +02:00
mmc
mmc: sdhci-of-aspeed: fix module autoloading
2024-09-12 11:03:51 +02:00
mtd
mtd: powernv: Add check devm_kasprintf() returned value
2024-11-08 16:20:28 +01:00
mux
net
wifi: rtw88: 8822c: Fix reported RX band width
2024-11-08 16:20:34 +01:00
nfc
nfc: pn533: Add poll mod list filling check
2024-09-04 13:15:04 +02:00
ntb
ntb: intel: Fix the NULL vs IS_ERR() bug for debugfs_create_dir()
2024-11-08 16:20:32 +01:00
nubus
nvdimm
nvme
nvmet-tcp: fix kernel crash if commands allocation fails
2024-09-12 11:03:56 +02:00
nvmem
nvmem: Fix return type of devm_nvmem_device_get() in kerneldoc
2024-09-12 11:03:55 +02:00
of
of/irq: Prevent device address out-of-bounds read in interrupt map walk
2024-09-12 11:03:55 +02:00
opp
oprofile
parisc
parport
dev/parport: fix the array out-of-bounds risk
2024-08-19 05:33:43 +02:00
pci
PCI: xilinx-nwl: Fix off-by-one in INTx IRQ handler
2024-11-08 16:20:34 +01:00
pcmcia
pcmcia: Use resource_size function on resource object
2024-09-12 11:03:52 +02:00
perf
phy
pinctrl
pinctrl: mvebu: Fix devinit_dove_pinctrl_probe function
2024-11-08 16:20:32 +01:00
platform
platform/x86: dell-smbios: Fix error path in dell_smbios_init()
2024-09-12 11:03:52 +02:00
pnp
power
power: supply: max17042_battery: Fix SOC threshold calc w/ no current sense
2024-11-08 16:20:28 +01:00
powercap
pps
pps: add an error check in parport_attach
2024-11-08 16:20:35 +01:00
ps3
ptp
ptp: Fix error message on failed pin verification
2024-07-05 09:08:11 +02:00
pwm
pwm: stm32: Always do lazy disabling
2024-08-19 05:33:26 +02:00
rapidio
ras
regulator
regulator: core: Fix modpost error "regulator_get_regmap" undefined
2024-07-05 09:08:23 +02:00
remoteproc
remoteproc: imx_rproc: Skip over memory region when node value is NULL
2024-08-19 05:33:44 +02:00
reset
reset: berlin: fix OF node leak in probe() error path
2024-11-08 16:20:28 +01:00
rpmsg
rtc
rtc: isl1208: Fix return value of nvmem callbacks
2024-08-19 05:33:39 +02:00
s390
s390/cio: rename bitmap_size() -> idset_bitmap_size()
2024-09-04 13:14:51 +02:00
sbus
scsi
scsi: aacraid: Fix double-free on probe failure
2024-09-04 13:15:05 +02:00
sfi
sh
siox
slimbus
soc
soc: versatile: realview: fix soc_dev leak during device remove
2024-11-08 16:20:34 +01:00
soundwire
soundwire: stream: Revert "soundwire: stream: fix programming slave ports for non-continous port maps"
2024-11-08 16:20:25 +01:00
spi
spi: ppc4xx: Avoid returning 0 when failed to parse and map IRQ
2024-11-08 16:20:28 +01:00
spmi
ssb
ssb: Fix division by zero issue in ssb_calc_clock_rate
2024-09-04 13:14:53 +02:00
staging
wifi: wilc1000: fix potential RCU dereference issue in wilc_parse_join_bss_param
2024-11-08 16:20:27 +01:00
target
scsi: target: Fix SELinux error when systemd-modules loads the target module
2024-05-17 11:43:51 +02:00
tc
tee
thermal
thunderbolt
tty
tty: rp2: Fix reset with non forgiving PCIe host bridges
2024-11-08 16:20:33 +01:00
uio
Drivers: hv: vmbus: Fix rescind handling in uio_hv_generic
2024-09-12 11:03:55 +02:00
usb
usb: yurex: Fix inconsistent locking bug in yurex_read()
2024-11-08 16:20:35 +01:00
vfio
vhost
video
fbdev: hpfb: Fix an error handling path in hpfb_dio_probe()
2024-11-08 16:20:28 +01:00
virt
virtio
virtio: delete vq in vp_find_vqs_msix() when request_irq() fails
2024-06-16 13:28:46 +02:00
visorbus
vlynq
vme
w1
watchdog
watchdog: imx_sc_wdt: Don't disable WDT in suspend
2024-11-08 16:20:32 +01:00
xen
xen/swiotlb: add alignment check for dma buffers
2024-11-08 16:20:30 +01:00
zorro
Kconfig
Makefile