OpenCloudOS-Kernel/drivers/soc
Sean Anderson 54d26adf64 soc: fsl: qbman: Use raw spinlock for cgr_lock
[ Upstream commit fbec4e7fed89b579f2483041fabf9650fb0dd6bc ]

smp_call_function always runs its callback in hard IRQ context, even on
PREEMPT_RT, where spinlocks can sleep. So we need to use a raw spinlock
for cgr_lock to ensure we aren't waiting on a sleeping task.

Although this bug has existed for a while, it was not apparent until
commit ef2a8d5478 ("net: dpaa: Adjust queue depth on rate change")
which invokes smp_call_function_single via qman_update_cgr_safe every
time a link goes up or down.

Fixes: 96f413f476 ("soc/fsl/qbman: fix issue in qman_delete_cgr_safe()")
CC: stable@vger.kernel.org
Reported-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Closes: https://lore.kernel.org/all/20230323153935.nofnjucqjqnz34ej@skbuf/
Reported-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Closes: https://lore.kernel.org/linux-arm-kernel/87wmsyvclu.fsf@pengutronix.de/
Signed-off-by: Sean Anderson <sean.anderson@linux.dev>
Reviewed-by: Camelia Groza <camelia.groza@nxp.com>
Tested-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-03 15:28:32 +02:00
..
actions genpd: move owl-sps-helper.c from drivers/soc 2023-07-26 14:41:01 +02:00
amlogic soc: amlogic: Explicitly include correct DT includes 2023-08-04 15:18:42 +02:00
apple soc: apple: Move power-domain driver to the genpd dir 2023-07-11 15:30:09 +02:00
aspeed ARM: SoC cleanups for 6.6 2023-08-30 16:49:40 -07:00
atmel soc: microchip: Explicitly include correct DT includes 2023-07-29 16:54:29 +03:00
bcm soc: bcm: Move power-domain drivers to the genpd dir 2023-07-11 15:30:09 +02:00
canaan soc: canaan: Make K210_SYSCTL depend on CLK_K210 2023-03-15 14:22:53 +00:00
dove
fsl soc: fsl: qbman: Use raw spinlock for cgr_lock 2024-04-03 15:28:32 +02:00
fujitsu soc: fujitsu: remove MODULE_LICENSE in non-modules 2023-04-13 13:13:50 -07:00
gemini
hisilicon soc: kunpeng_hccs: fix some sparse warnings about incorrect type 2023-08-21 21:05:11 -04:00
imx soc: imx8m: Enable OCOTP clock for imx8mm before reading registers 2023-09-24 20:50:27 +08:00
ixp4xx ARM: ixp4xx: Replace 0-length arrays with flexible arrays 2023-01-19 15:18:19 -08:00
lantiq
litex
loongson soc: loongson: loongson2_guts: Remove unneeded semicolon 2023-09-27 11:05:47 +02:00
mediatek ARM: SoC cleanups for 6.6 2023-08-30 16:49:40 -07:00
microchip soc: microchip: Fix POLARFIRE_SOC_SYS_CTRL input prompt 2024-03-26 18:19:11 -04:00
nuvoton soc: nuvoton: Add SoC info driver for WPCM450 2023-02-01 17:11:36 +01:00
pxa pxa: Remove dev_err() after platform_get_irq() 2022-12-04 13:10:57 +01:00
qcom soc: qcom: llcc: Check return value on Broadcast_OR reg read 2024-03-26 18:19:29 -04:00
renesas soc: renesas: ARCH_R9A07G043 depends on !RISCV_ISA_ZICBOM 2023-10-26 09:42:38 +02:00
rockchip ARM: SoC cleanups for 6.6 2023-08-30 16:49:40 -07:00
samsung Samsung SoC driver changes for v6.6 2023-08-12 12:09:43 +02:00
sifive soc: sifive: ccache: Add StarFive JH7110 support 2022-12-26 22:50:15 +00:00
starfive soc: starfive: Move the power-domain driver to the genpd dir 2023-07-14 10:40:56 +02:00
sunxi - simplify code in sunxi-rsb 2023-08-12 12:07:58 +02:00
tegra soc/tegra: Changes for v6.6-rc1 2023-08-12 12:01:51 +02:00
ti TI SoC driver updates for v6.6 2023-08-14 18:26:27 +02:00
ux500 ARM: ux500: do not directly dereference __iomem 2022-11-08 21:13:56 +01:00
versatile
xilinx soc: xilinx: fix unhandled SGI warning message 2024-02-05 20:14:19 +00:00
Kconfig soc: hisilicon: Support HCCS driver on Kunpeng SoC 2023-08-08 12:36:29 +00:00
Makefile HiSilicon driver updates for v6.6 2023-08-12 12:10:46 +02:00