linux/drivers/soc
Liang Chen 0bf8924272 soc: rockchip: rk_fiq_debugger: fix deadlock when printk in try_to_wake_up
Assume p is console task, try_to_wake_up(p) will hold p->pi_lock,
if printk is called in try_to_wake_up(), then printk will call
try_to_wake_up(p) again which cause deadlock on p->pi_lock.

deadlock stack:
Thread #2 2 (Name: cpu1, EL2H) (Suspended : Container)
	queued_spin_lock_slowpath() at qspinlock.c:382 0xffffffc0101359a4
	queued_spin_lock() at qspinlock.h:85 0xffffffc0111ef72c
	do_raw_spin_lock_flags() at spinlock.h:195 0xffffffc0111ef72c
	__raw_spin_lock_irqsave() at spinlock_api_smp.h:119 0xffffffc0111ef72c
	_raw_spin_lock_irqsave() at spinlock.c:159 0xffffffc0111ef72c
	try_to_wake_up() at core.c:3,070 0xffffffc0101059c0
	wake_up_process() at core.c:3,275 0xffffffc010103bcc
	console_write() at rk_fiq_debugger.c:337 0xffffffc010732a50
	fiq_debugger_console_write() at fiq_debugger.c:1,169 0xffffffc010d60004
	call_console_drivers() at printk.c:1,912 0xffffffc01013f2d4
	console_unlock() at printk.c:2,538 0xffffffc01013f2d4
	vprintk_emit() at printk.c:2,061 0xffffffc01013ed48
	vprintk_default() at printk.c:2,078 0xffffffc01013f698
	vprintk_func() at printk_safe.c:401 0xffffffc010142304
	printk() at printk.c:2,109 0xffffffc0111e50a4
	report_bug() at bug.c:193 0xffffffc01063e258
	bug_handler() at traps.c:907 0xffffffc01009415c
	call_break_hook() at debug-monitors.c:325 0xffffffc010085a40
	brk_handler() at debug-monitors.c:332 0xffffffc010085a40
	do_debug_exception() at fault.c:964 0xffffffc0100af2bc
	el1_dbg() at entry-common.c:185 0xffffffc0111e6ba8
	el1_sync_handler() at entry-common.c:222 0xffffffc0111e6a04
	el1_sync() at 0xffffffc01008240c
	brk()
	WARN_ON_ONCE()
	ttwu_queue_wakelist()
	try_to_wake_up()
	hrtimer_wakeup()
	run_hrtimer()
	usleep_range()
	console_put()
	console_thread()

Change-Id: I76dac4e2a76abb1f75e66677fb7ece2b52a83f25
Signed-off-by: Liang Chen <cl@rock-chips.com>
2021-10-25 15:52:40 +08:00
..
actions soc: actions: include header to fix missing prototype 2020-09-22 12:45:16 +05:30
amlogic rk: revert to v4.19 2021-03-17 18:05:39 +08:00
aspeed soc: aspeed: fix a ternary sign expansion bug 2021-05-14 09:50:21 +02:00
atmel drivers: soc: atmel: add null entry at the end of at91_soc_allowed_list[] 2021-02-03 23:28:40 +01:00
bcm rk: revert to v4.19 2021-03-17 18:05:39 +08:00
dove
fsl soc/fsl: qbman: fix conflicting alignment attributes 2021-04-14 08:42:09 +02:00
gemini
imx rk: revert to v4.19 2021-03-17 18:05:39 +08:00
ixp4xx
kendryte
lantiq
mediatek rk: revert to v4.19 2021-03-17 18:05:39 +08:00
qcom Merge 5.10.37 into android12-5.10 2021-05-15 09:28:55 +02:00
renesas rk: revert to v4.19 2021-03-17 18:05:39 +08:00
rockchip soc: rockchip: rk_fiq_debugger: fix deadlock when printk in try_to_wake_up 2021-10-25 15:52:40 +08:00
samsung soc: samsung: exynos-asv: handle reading revision register error 2021-03-04 11:38:32 +01:00
sifive
sunxi rk: revert to v4.19 2021-03-17 18:05:39 +08:00
tegra soc/tegra: regulators: Fix locking up when voltage-spread is out of range 2021-05-14 09:49:58 +02:00
ti soc: ti: omap-prm: Fix occasional abort on reset deassert for dra7 iva 2021-03-30 14:31:56 +02:00
ux500
versatile
xilinx
zte
Kconfig
Makefile rk: revert to v4.19 2021-03-17 18:05:39 +08:00