6489f8d0e1
During boot time kernel configured with OF=y but USE_OF=n displays the
following warnings and hangs shortly after starting userspace:
------------[ cut here ]------------
WARNING: CPU: 0 PID: 0 at kernel/irq/irqdomain.c:695 irq_create_mapping_affinity+0x29/0xc0
irq_create_mapping_affinity(, 6) called with NULL domain
CPU: 0 PID: 0 Comm: swapper Not tainted 5.15.0-rc3-00001-gd67ed2510d28 #30
Call Trace:
__warn+0x69/0xc4
warn_slowpath_fmt+0x6c/0x94
irq_create_mapping_affinity+0x29/0xc0
local_timer_setup+0x40/0x88
time_init+0xb1/0xe8
start_kernel+0x31d/0x3f4
_startup+0x13b/0x13b
---[ end trace 1e6630e1c5eda35b ]---
------------[ cut here ]------------
WARNING: CPU: 0 PID: 0 at arch/xtensa/kernel/time.c:141 local_timer_setup+0x58/0x88
error: can't map timer irq
CPU: 0 PID: 0 Comm: swapper Tainted: G W 5.15.0-rc3-00001-gd67ed2510d28 #30
Call Trace:
__warn+0x69/0xc4
warn_slowpath_fmt+0x6c/0x94
local_timer_setup+0x58/0x88
time_init+0xb1/0xe8
start_kernel+0x31d/0x3f4
_startup+0x13b/0x13b
---[ end trace 1e6630e1c5eda35c ]---
Failed to request irq 0 (timer)
Fix that by calling irqchip_init only when CONFIG_USE_OF is selected and
calling legacy interrupt controller init otherwise.
Fixes:
|
||
---|---|---|
.. | ||
syscalls | ||
.gitignore | ||
align.S | ||
asm-offsets.c | ||
coprocessor.S | ||
entry.S | ||
head.S | ||
hw_breakpoint.c | ||
irq.c | ||
jump_label.c | ||
Makefile | ||
mcount.S | ||
module.c | ||
mxhead.S | ||
pci-dma.c | ||
pci.c | ||
perf_event.c | ||
platform.c | ||
process.c | ||
ptrace.c | ||
s32c1i_selftest.c | ||
setup.c | ||
signal.c | ||
smp.c | ||
stacktrace.c | ||
syscall.c | ||
time.c | ||
traps.c | ||
vectors.S | ||
vmlinux.lds.S | ||
xtensa_ksyms.c |