linux/drivers/soc
Evan Green 72dc14a94c soc: qcom: smp2p: Safely acquire spinlock without IRQs
commit fc3e62e25c upstream.

smp2p_update_bits() should disable interrupts when it acquires its
spinlock. This is important because without the _irqsave, a priority
inversion can occur.

This function is called both with interrupts enabled in
qcom_q6v5_request_stop(), and with interrupts disabled in
ipa_smp2p_panic_notifier(). IRQ handling of spinlocks should be
consistent to avoid the panic notifier deadlocking because it's
sitting on the thread that's already got the lock via _request_stop().

Found via lockdep.

Cc: stable@vger.kernel.org
Fixes: 50e9964141 ("soc: qcom: smp2p: Qualcomm Shared Memory Point to Point")
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Evan Green <evgreen@chromium.org>
Link: https://lore.kernel.org/r/20200929133040.RESEND.1.Ideabf6dcdfc577cf39ce3d95b0e4aa1ac8b38f0c@changeid
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-12-30 11:26:14 +01:00
..
actions treewide: Use struct_size() for devm_kmalloc() and friends 2018-06-06 11:15:43 -07:00
amlogic soc: amlogic: meson-gx-pwrc-vpu: Fix power on/off register bitmask 2020-01-27 14:50:39 +01:00
atmel drivers: soc: atmel: Add basic support for new sama5d2 SiPs 2017-09-17 19:45:59 +02:00
bcm soc: bcm: brcmstb: Fix re-entry point with a THUMB2_KERNEL 2019-12-01 09:17:17 +01:00
dove License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fsl soc: fsl: dpio: Get the cpumask through cpumask_of(cpu) 2020-12-30 11:25:38 +01:00
gemini soc: Add SoC driver for Gemini 2018-01-04 17:01:53 +01:00
imx soc: imx: gpc: fix power up sequencing 2020-04-23 10:30:17 +02:00
lantiq MIPS: lantiq: gphy: Drop reboot/remove reset asserts 2018-05-24 13:22:56 +01:00
mediatek soc: mediatek: Check if power domains can be powered on at boot time 2020-12-30 11:25:49 +01:00
qcom soc: qcom: smp2p: Safely acquire spinlock without IRQs 2020-12-30 11:26:14 +01:00
renesas soc: renesas: r8a77990-sysc: Fix initialization order of 3DG-{A,B} 2019-12-13 08:52:29 +01:00
rockchip soc: rockchip: Set the proper PWM for rk3288 2019-06-15 11:54:08 +02:00
samsung soc: samsung: pm_domains: Deprecate support for clocks 2018-04-17 17:25:42 +02:00
sunxi soc: sunxi: Fix missing dependency on REGMAP_MMIO 2019-05-10 17:54:10 +02:00
tegra soc/tegra: fuse: Fix index bug in get_process_id 2020-12-30 11:25:46 +01:00
ti drivers: soc: ti: knav_qmss_queue: Fix error return code in knav_queue_probe 2020-12-30 11:25:55 +01:00
ux500 ARM: ux500: move soc_id driver to drivers/soc 2016-07-12 11:24:09 +02:00
versatile soc: versatile: remove unnecessary static in realview_soc_probe() 2017-08-16 22:28:27 +02:00
xilinx soc: xilinx: Fix Kconfig alignment 2018-01-16 15:50:21 +01:00
zte soc: zte: Restrict SOC_ZTE to ARCH_ZX or COMPILE_TEST 2017-07-27 13:12:34 +02:00
Kconfig soc: xilinx: Create folder structure for soc specific drivers 2018-01-08 13:42:39 +01:00
Makefile drivers: soc: Allow building the amlogic drivers without ARCH_MESON 2019-12-13 08:51:22 +01:00