[Letux-kernel] kernel panic with v5.18-rc1 on OpenPandora (only)

Arnd Bergmann arnd at arndb.de
Tue May 3 09:51:54 CEST 2022


On Tue, May 3, 2022 at 9:28 AM Ard Biesheuvel <ardb at kernel.org> wrote:
> On Sat, 30 Apr 2022 at 20:48, Arnd Bergmann <arnd at arndb.de> wrote:
> >
> > I think what is going on here is that your platform is able to detect
> > the broken DMA because of the l3 interrupt handler telling the kernel
> > about it, when on other platforms we would see either silent data corruption
> > or a DMA that never reaches its target.
> >
>
> I wonder if we could narrow this down by adding the possibility to use
> IRQ stacks in the linear map, while using vmap'ed task stacks.

I don't think we have actual DMA attempts to the IRQ stack, so this should
not make a difference. What might help is to print some more information
in omap3_l3_app_irq() that is likely provided by the hardware. The BUG_ON()
happens for any timeout error, and that is most of the possible errors.

Simply dumping the L3 registers should at least show the exact type of
timeout, and maybe the DMA master ID and physical address that can
be traced back into a virtual address.
Setting CONFIG_DMA_API_DEBUG=y should get the same information
I think, but it can't hurt to do both.

        Arnd


More information about the Letux-kernel mailing list