linux
linux copied to clipboard
irq 32: nobody cared
Booting OpenBMC on a system I'm currently working on a port to, I get this (at least sometimes) during boot:
[ 0.339726] irq 32: nobody cared (try booting with the "irqpoll" option)
[ 0.339772] CPU: 0 PID: 1 Comm: swapper Not tainted 5.14.11-aee45db-dirty-571424b #1
[ 0.339809] Hardware name: Generic DT based system
[ 0.339832] Backtrace:
[ 0.339866] [<807e66a4>] (dump_backtrace) from [<807e68f8>] (show_stack+0x20/0x24)
[ 0.339960] r7:00000000 r6:00000008 r5:00000000 r4:80902df4
[ 0.339982] [<807e68d8>] (show_stack) from [<807f0b00>] (dump_stack+0x28/0x30)
[ 0.340041] [<807f0ad8>] (dump_stack) from [<807e7880>] (__report_bad_irq+0x40/0xc0)
[ 0.340094] r5:00000000 r4:80d43180
[ 0.340112] [<807e7840>] (__report_bad_irq) from [<80159c10>] (note_interrupt+0x284/0x2dc)
[ 0.340193] r9:80cbc000 r8:00000020 r7:00000000 r6:00000008 r5:00000000 r4:80d43180
[ 0.340214] [<8015998c>] (note_interrupt) from [<801569d4>] (handle_irq_event+0xb4/0xc0)
[ 0.340274] r10:00000000 r9:80cbc000 r8:80d43228 r7:00000000 r6:00000008 r5:00000000
[ 0.340297] r4:80d43180 r3:00000000
[ 0.340314] [<80156920>] (handle_irq_event) from [<8015acd0>] (handle_level_irq+0xac/0x180)
[ 0.340374] r5:00000000 r4:80d43180
[ 0.340392] [<8015ac24>] (handle_level_irq) from [<80155fa4>] (handle_domain_irq+0x60/0x7c)
[ 0.340448] r5:00000000 r4:80b8e868
[ 0.340466] [<80155f44>] (handle_domain_irq) from [<8010121c>] (avic_handle_irq+0x64/0x6c)
[ 0.340530] r7:80cbdc74 r6:ffffffff r5:80cbdc40 r4:80c02420
[ 0.340549] [<801011b8>] (avic_handle_irq) from [<80100aec>] (__irq_svc+0x6c/0x90)
[ 0.340595] Exception stack(0x80cbdc40 to 0x80cbdc88)
[ 0.340630] dc40: 00000000 00000000 00000000 00000000 80d43180 00000000 8529db00 00000020
[ 0.340664] dc60: 80d43228 60000053 00000000 80cbdcbc 00000000 80cbdc90 8015a520 80157d4c
[ 0.340687] dc80: 40000053 ffffffff
[ 0.340710] r5:40000053 r4:80157d4c
[ 0.340727] [<80157a0c>] (__setup_irq) from [<8015844c>] (request_threaded_irq+0xe8/0x16c)
[ 0.340792] r9:80d8cc20 r8:00000020 r7:80d43190 r6:80d43180 r5:00000000 r4:8529db00
[ 0.340813] [<80158364>] (request_threaded_irq) from [<8015bd80>] (devm_request_threaded_irq+0x78/0xd0)
[ 0.340884] r10:80d40660 r9:00000000 r8:80d8cc20 r7:80d42e10 r6:00000020 r5:8044fd50
[ 0.340907] r4:8529d5a0 r3:00000080
[ 0.340923] [<8015bd08>] (devm_request_threaded_irq) from [<804505c8>] (aspeed_kcs_probe+0x244/0x598)
[ 0.341004] r10:80d8cc54 r9:80833650 r8:00000000 r7:80d42e10 r6:80d8cc20 r5:00000020
[ 0.341024] r4:80d42e00
[ 0.341038] [<80450384>] (aspeed_kcs_probe) from [<804e68a0>] (platform_probe+0x54/0x9c)
[ 0.341115] r10:80bab000 r9:80983e28 r8:00000000 r7:80d42e10 r6:80b6e7b0 r5:80b6e7b0
[ 0.341134] r4:80d42e10
[ 0.341150] [<804e684c>] (platform_probe) from [<804e442c>] (really_probe+0x1c4/0x46c)
[ 0.341206] r5:00000000 r4:80d42e10
[ 0.341225] [<804e4268>] (really_probe) from [<804e47a8>] (__driver_probe_device+0xd4/0x1bc)
[ 0.341280] r7:80d42e10 r6:80d42e10 r5:80bcb44c r4:80b6e7b0
[ 0.341299] [<804e46d4>] (__driver_probe_device) from [<804e48d0>] (driver_probe_device+0x40/0xd8)
[ 0.341360] r9:80983e28 r8:00000000 r7:80d42e10 r6:80b6e7b0 r4:80bcb340
[ 0.341378] [<804e4890>] (driver_probe_device) from [<804e4c34>] (__driver_attach+0xa4/0x1c8)
[ 0.341438] r9:80983e28 r8:80a2c838 r7:80b71638 r6:80b6e7b0 r5:80d42e54 r4:80d42e10
[ 0.341459] [<804e4b90>] (__driver_attach) from [<804e2044>] (bus_for_each_dev+0x84/0xd0)
[ 0.341517] r7:80b71638 r6:804e4b90 r5:80b6e7b0 r4:00000000
[ 0.341536] [<804e1fc0>] (bus_for_each_dev) from [<804e5360>] (driver_attach+0x28/0x30)
[ 0.341590] r6:00000000 r5:80d55000 r4:80b6e7b0
[ 0.341607] [<804e5338>] (driver_attach) from [<804e29e0>] (bus_add_driver+0x114/0x200)
[ 0.341660] [<804e28cc>] (bus_add_driver) from [<804e59fc>] (driver_register+0x98/0x128)
[ 0.341712] r7:00000000 r6:00000007 r5:00000000 r4:80b6e7b0
[ 0.341731] [<804e5964>] (driver_register) from [<804e7b4c>] (__platform_driver_register+0x2c/0x34)
[ 0.341791] r5:80c046c0 r4:80a18c04
[ 0.341809] [<804e7b20>] (__platform_driver_register) from [<80a18c24>] (ast_kcs_bmc_driver_init+0x20/0x28)
[ 0.341867] [<80a18c04>] (ast_kcs_bmc_driver_init) from [<80a01408>] (do_one_initcall+0x64/0x144)
[ 0.341940] [<80a013a4>] (do_one_initcall) from [<80a016e4>] (kernel_init_freeable+0x198/0x218)
[ 0.342011] r7:80a2c858 r6:00000007 r5:80c046c0 r4:80a4c8d8
[ 0.342031] [<80a0154c>] (kernel_init_freeable) from [<807f0d58>] (kernel_init+0x20/0x134)
[ 0.342098] r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:807f0d38
[ 0.342119] r4:00000000
[ 0.342134] [<807f0d38>] (kernel_init) from [<80100130>] (ret_from_fork+0x14/0x24)
[ 0.342183] Exception stack(0x80cbdfb0 to 0x80cbdff8)
[ 0.342214] dfa0: 00000000 00000000 00000000 00000000
[ 0.342245] dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 0.342272] dfe0: 00000000 00000000 00000000 00000000 00000013 00000000
[ 0.342293] r5:807f0d38 r4:00000000
[ 0.342309] handlers:
[ 0.342324] [<(ptrval)>] aspeed_kcs_irq
[ 0.342373] Disabling IRQ #32
[ 0.488475] ast-kcs-bmc 1e78902c.kcs: Initialised raw client for channel 3
[ 0.489012] ast-kcs-bmc 1e78902c.kcs: Initialised IPMI client for channel 3
[ 0.489086] ast-kcs-bmc 1e78902c.kcs: Initialised channel 3 at 0xca2
[ 0.788903] irq 32: nobody cared (try booting with the "irqpoll" option)
[ 0.788980] CPU: 0 PID: 1 Comm: swapper Not tainted 5.14.11-aee45db-dirty-571424b #1
[ 0.789026] Hardware name: Generic DT based system
[ 0.789049] Backtrace:
[ 0.789082] [<807e66a4>] (dump_backtrace) from [<807e68f8>] (show_stack+0x20/0x24)
[ 0.789170] r7:00000000 r6:00000008 r5:00000000 r4:80902df4
[ 0.789191] [<807e68d8>] (show_stack) from [<807f0b00>] (dump_stack+0x28/0x30)
[ 0.789250] [<807f0ad8>] (dump_stack) from [<807e7880>] (__report_bad_irq+0x40/0xc0)
[ 0.789309] r5:00000000 r4:80d43180
[ 0.789326] [<807e7840>] (__report_bad_irq) from [<80159c10>] (note_interrupt+0x284/0x2dc)
[ 0.789408] r9:80cbc000 r8:00000020 r7:00000000 r6:00000008 r5:00000000 r4:80d43180
[ 0.789428] [<8015998c>] (note_interrupt) from [<801569d4>] (handle_irq_event+0xb4/0xc0)
[ 0.789490] r10:00000000 r9:80cbc000 r8:80d43228 r7:00000000 r6:00000008 r5:00000000
[ 0.789514] r4:80d43180 r3:00000400
[ 0.789529] [<80156920>] (handle_irq_event) from [<8015acd0>] (handle_level_irq+0xac/0x180)
[ 0.789589] r5:00000000 r4:80d43180
[ 0.789605] [<8015ac24>] (handle_level_irq) from [<80155fa4>] (handle_domain_irq+0x60/0x7c)
[ 0.789662] r5:00000000 r4:80b8e868
[ 0.789682] [<80155f44>] (handle_domain_irq) from [<8010121c>] (avic_handle_irq+0x64/0x6c)
[ 0.789745] r7:80cbdc94 r6:ffffffff r5:80cbdc60 r4:80c02420
[ 0.789765] [<801011b8>] (avic_handle_irq) from [<80100aec>] (__irq_svc+0x6c/0x90)
[ 0.789809] Exception stack(0x80cbdc60 to 0x80cbdca8)
[ 0.789844] dc60: 00000000 00000000 00000000 00000000 80d43180 8529db00 8529d1c0 00000020
[ 0.789878] dc80: 80d43228 a0000053 00000000 80cbdcdc 00000400 80cbdcb0 8015a520 80157d4c
[ 0.789901] dca0: 40000053 ffffffff
[ 0.789923] r5:40000053 r4:80157d4c
[ 0.789940] [<80157a0c>] (__setup_irq) from [<8015844c>] (request_threaded_irq+0xe8/0x16c)
[ 0.790001] r9:8531a560 r8:00000020 r7:80d43190 r6:80d43180 r5:00000000 r4:8529d1c0
[ 0.790021] [<80158364>] (request_threaded_irq) from [<8015bd80>] (devm_request_threaded_irq+0x78/0xd0)
[ 0.790091] r10:8092efe4 r9:00000000 r8:8531a560 r7:80d42c10 r6:00000020 r5:8045feb8
[ 0.790114] r4:8529dfe0 r3:00000080
[ 0.790132] [<8015bd08>] (devm_request_threaded_irq) from [<804603bc>] (aspeed_lpc_snoop_probe+0x110/0x2e0)
[ 0.790219] r10:80bab000 r9:80d42c10 r8:8529d040 r7:00000000 r6:80d42c00 r5:8531a560
[ 0.790239] r4:00000000
[ 0.790254] [<804602ac>] (aspeed_lpc_snoop_probe) from [<804e68a0>] (platform_probe+0x54/0x9c)
[ 0.790335] r9:80983e28 r8:00000000 r7:80d42c10 r6:80b6f3dc r5:80b6f3dc r4:80d42c10
[ 0.790357] [<804e684c>] (platform_probe) from [<804e442c>] (really_probe+0x1c4/0x46c)
[ 0.790409] r5:00000000 r4:80d42c10
[ 0.790426] [<804e4268>] (really_probe) from [<804e47a8>] (__driver_probe_device+0xd4/0x1bc)
[ 0.790479] r7:80d42c10 r6:80d42c10 r5:80bcb44c r4:80b6f3dc
[ 0.790498] [<804e46d4>] (__driver_probe_device) from [<804e48d0>] (driver_probe_device+0x40/0xd8)
[ 0.790557] r9:80983e28 r8:00000000 r7:80d42c10 r6:80b6f3dc r4:80bcb340
[ 0.790579] [<804e4890>] (driver_probe_device) from [<804e4c34>] (__driver_attach+0xa4/0x1c8)
[ 0.790638] r9:80983e28 r8:80a2c838 r7:80b71638 r6:80b6f3dc r5:80d42c54 r4:80d42c10
[ 0.790660] [<804e4b90>] (__driver_attach) from [<804e2044>] (bus_for_each_dev+0x84/0xd0)
[ 0.790719] r7:80b71638 r6:804e4b90 r5:80b6f3dc r4:00000000
[ 0.790737] [<804e1fc0>] (bus_for_each_dev) from [<804e5360>] (driver_attach+0x28/0x30)
[ 0.790791] r6:00000000 r5:85317a20 r4:80b6f3dc
[ 0.790809] [<804e5338>] (driver_attach) from [<804e29e0>] (bus_add_driver+0x114/0x200)
[ 0.790857] [<804e28cc>] (bus_add_driver) from [<804e59fc>] (driver_register+0x98/0x128)
[ 0.790911] r7:00000000 r6:00000007 r5:00000000 r4:80b6f3dc
[ 0.790930] [<804e5964>] (driver_register) from [<804e7b4c>] (__platform_driver_register+0x2c/0x34)
[ 0.790991] r5:80c046c0 r4:80a1997c
[ 0.791008] [<804e7b20>] (__platform_driver_register) from [<80a1999c>] (aspeed_lpc_snoop_driver_init+0x20/0x28)
[ 0.791067] [<80a1997c>] (aspeed_lpc_snoop_driver_init) from [<80a01408>] (do_one_initcall+0x64/0x144)
[ 0.791146] [<80a013a4>] (do_one_initcall) from [<80a016e4>] (kernel_init_freeable+0x198/0x218)
[ 0.791213] r7:80a2c858 r6:00000007 r5:80c046c0 r4:80a4c8f0
[ 0.791232] [<80a0154c>] (kernel_init_freeable) from [<807f0d58>] (kernel_init+0x20/0x134)
[ 0.791299] r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:807f0d38
[ 0.791321] r4:00000000
[ 0.791338] [<807f0d38>] (kernel_init) from [<80100130>] (ret_from_fork+0x14/0x24)
[ 0.791388] Exception stack(0x80cbdfb0 to 0x80cbdff8)
[ 0.791420] dfa0: 00000000 00000000 00000000 00000000
[ 0.791452] dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 0.791480] dfe0: 00000000 00000000 00000000 00000000 00000013 00000000
[ 0.791505] r5:807f0d38 r4:00000000
[ 0.791522] handlers:
[ 0.791538] [<eb36fe7a>] aspeed_kcs_irq
[ 0.791599] [<49718d48>] aspeed_lpc_snoop_irq
[ 0.791662] Disabling IRQ #32
I haven't dug into it at all thus far; perhaps @amboar might have some insight as to the cause?
This happens when the lpc devices are probed in a specific order. They can enable the LPC IRQ before a handler is registered.
This is the same bug as https://github.com/openbmc/linux/issues/130
Jae has posted a series that should resolve this issue. Please review and test!
https://lore.kernel.org/all/[email protected]/