android_kernel_motorola_sm6375/drivers
Repository files (latest commit first)
Filename Latest commit message Latest commit date
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