Hard lock up on Raspberry pi 3 when RTDM interrupt from SPI peripheral or from DMA is invoked

Nitin Kulkarni nitin.kulkarni at mindmusiclabs.com
Mon Aug 5 17:51:01 CEST 2019

I am trying to request DMA interrupts in real-time domain. When I request
the irq with rtdm_irq_request(), the irq is successfully registered but at
the first interrupt the system goes into a hard locked state.
I tried the RTDM SPI driver for RPI (spi-bcm2835.c) provided in the Xenomai
even that makes the system lock up. I have enabled IPIPE_DEBUG and tried to
see if I get any useful trace but no luck.

GPIO interupts working:
I thought to check if the GPIO interrupts also have same issue but
fortunately the GPIO interrupts work fine.
I suspect (Correct me if I am wrong) it has got to do with the nested irq
controllers in bcm2836 and bcm2837 which makes it different from bcm2835.
The GPIO irqs are not routed through these interrupt controllers I think
and thus the i-pipe patch works fine for bcm2836 as well.

It would be great if someone can throw some light onto this problem. Has
anyone tried to use real-time SPI or DMA on a RPI 3 ? Or if someone can
show some direction in how to fix the irq chips driver it would be very


More information about the Xenomai mailing list