My setup consists of:
LS1021A RevB3 board
Linux 4.1.18 RT-enabled kernel.
kernel contains commits:
e08d8bf pci/layerscape: update MSI code for ls1021 rev2 MSI support
and
838bc54 pci_layerscape : Enable support of RT kernel in PCI-MSI interrupt handler
For PCIe port support.
I am confronted with the following kernel panic at boot when i boot with a wireless card connected to the PCIe slot:
------------[ cut here ]------------
WARNING: CPU: 0 PID: 0 at /home/mieke/builds/fsl/bitbake_build/tmp/work-shared/fsl-ls10xx/kernel-source/kernel/irq/handle.c:149 handle_irq_event_percpu+0x2ac/0x2b8()
irq 46 handler ls_pcie_msi_irq_handler+0x0/0xb8 enabled interrupts
Modules linked in: iwlmvm(+) mac80211 btusb btbcm btintel iwlwifi cfg80211 firmware_class
CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.1.18-experimental_preempt-rt #2
Hardware name: Freescale LS1021A
[<8001acd4>] (unwind_backtrace) from [<80014708>] (show_stack+0x20/0x24)
[<80014708>] (show_stack) from [<8082cf28>] (dump_stack+0x94/0xac)
[<8082cf28>] (dump_stack) from [<8002d9c4>] (warn_slowpath_common+0x94/0xc4)
[<8002d9c4>] (warn_slowpath_common) from [<8002da34>] (warn_slowpath_fmt+0x40/0x48)
[<8002da34>] (warn_slowpath_fmt) from [<8007d3a0>] (handle_irq_event_percpu+0x2ac/0x2b8)
[<8007d3a0>] (handle_irq_event_percpu) from [<8007d424>] (handle_irq_event+0x78/0xb8)
[<8007d424>] (handle_irq_event) from [<80080c90>] (handle_fasteoi_irq+0x138/0x24c)
[<80080c90>] (handle_fasteoi_irq) from [<8007c6d4>] (generic_handle_irq+0x3c/0x4c)
[<8007c6d4>] (generic_handle_irq) from [<8007ca08>] (__handle_domain_irq+0x8c/0xfc)
[<8007ca08>] (__handle_domain_irq) from [<80009478>] (gic_handle_irq+0x34/0x6c)
[<80009478>] (gic_handle_irq) from [<80015300>] (__irq_svc+0x40/0x88)
Exception stack(0x80bf5ef8 to 0x80bf5f40)
5ee0: 00000001 00000000
5f00: 00000000 80026100 80bf4000 80bf98c8 80834eec 00000000 00000000 80c7f260
5f20: 80bf5f50 80bf5f4c 80bf5f50 80bf5f40 80010f5c 80010f60 60010013 ffffffff
[<80015300>] (__irq_svc) from [<80010f60>] (arch_cpu_idle+0x48/0x4c)
[<80010f60>] (arch_cpu_idle) from [<8006f4c0>] (cpu_startup_entry+0x424/0x4a0)
[<8006f4c0>] (cpu_startup_entry) from [<808277b8>] (rest_init+0x98/0x9c)
[<808277b8>] (rest_init) from [<80b08d6c>] (start_kernel+0x400/0x40c)
---[ end trace 0000000000000002 ]---
Also noteworthy that I have the following u-boot for the board:
U-Boot SPL 2015.01+ls1+g3281947 (Aug 31 2015 - 15:06:00)
U-Boot 2015.01+ls1+g3281947 (Aug 31 2015 - 15:06:00)
CPU: Freescale LayerScape LS1021E, Version: 2.0, (0x87081120)
I had a Rev B2 board running the same bootloader, is it possible that the RevB3 board needs a separate bootloader?