[PATCH] ARM: integrator: Fix early initialization
Guenter Roeck
linux at roeck-us.net
Wed May 6 11:02:28 PDT 2026
On 5/5/26 14:25, Linus Walleij wrote:
> On Tue, May 5, 2026 at 11:14 PM Guenter Roeck <linux at roeck-us.net> wrote:
>
>> I actually stopped testing the integratorcp qemu emulation
>> because it no longer works reliably, not even with gcc 9.x,
>> since the timer-sp804 patches were applied.
>>
>> Given that apparently no one but me ever hit that problem,
>> I wonder if it is time to remove support for that machine entirely.
>
> I actually have the hardware, even several of them, I've been keeping
> them as a base reference for old 32bit ARM. Ethernet broke on the
> one I had out so I need to bring a new one (yeah, as in factory-new)
> from a box.
>
If those still worked with recent kernels, it just kind of confirms
that trying to run the integratorcp qemu emulation with a recent kernel
is futile ...
Note: With this patch applied on top of mainline, I get the following
backtrace when trying to boot from qemu.
=============================^M
[ BUG: Invalid wait context ]^M
7.1.0-rc1-00002-gdbd65c72b68b #1 Not tainted^M
-----------------------------^M
swapper/0/1 is trying to lock:^M
c1d25410 (syscon:117:(&syscon_config)->lock){....}-{3:3}, at: regmap_lock_spinlock+0xc/0x18^M
other info that might help us debug this:^M
context-{2:2}^M
1 lock held by swapper/0/1:^M
#0: c12874b8 (&rq->__lock){-.-.}-{2:2}, at: raw_spin_rq_lock_nested+0x28/0x40^M
stack backtrace:^M
CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 7.1.0-rc1-00002-gdbd65c72b68b #1 PREEMPT ^M
Hardware name: ARM Integrator/CP (Device Tree)^M
Call trace: ^M
unwind_backtrace from show_stack+0x10/0x18^M
show_stack from dump_stack_lvl+0x44/0x6c^M
dump_stack_lvl from __lock_acquire+0x11b0/0x2dbc^M
__lock_acquire from lock_acquire+0x114/0x3dc^M
lock_acquire from _raw_spin_lock_irqsave+0x5c/0x7c^M
_raw_spin_lock_irqsave from regmap_lock_spinlock+0xc/0x18^M
regmap_lock_spinlock from regmap_read+0x30/0x6c^M
regmap_read from intcp_read_sched_clock+0x34/0x6c^M
intcp_read_sched_clock from sched_clock+0x48/0x114^M
sched_clock from update_rq_clock+0x50/0x2f0^M
update_rq_clock from sched_tick+0x64/0x32c^M
sched_tick from update_process_times+0x7c/0x1a8^M
update_process_times from tick_periodic.constprop.0+0x34/0x134^M
tick_periodic.constprop.0 from tick_handle_periodic+0x20/0x8c^M
tick_handle_periodic from sp804_timer_interrupt+0x28/0x38^M
sp804_timer_interrupt from __handle_irq_event_percpu+0xb8/0x498^M
... and the image hangs randomly.
Guenter
More information about the linux-arm-kernel
mailing list