On 2013-02-26 10:29, Jerome Poncin wrote:
> Hello,
>
> I have a problem with driver for Hilscher cifx with IRQ.
>
> All driver run good (I verified in polling mode) but in case I activate
> IRQ the system freeze.
>
> I checked parameters of "rtdm_irq_request" function without success (all
> seems good) ! I tried to see on internet to get some information about
> the use of "rtdm_irq_request", or compare my code with other driver but
> it's not easy...
> I give you in attached file my code because I have no idea about my
> problem, and it's really difficult to have some information or trace
> after system freeze...
> Do you have an idea about my problem ?
> static inline int cifx_handler(rtdm_irq_t *irq)
^^^^^^
But I suspect the compiler is smart enough to ignore this.
Is the line you are registering for shared with other devices? Check
/proc/interrupts and lspci -v. If yes, resolve that conflict.
If not, add printk to your IRQ handler, redirect the kernel messages to
a serial console and try to find out how far and how ofter you get into
the handler.
Well, and then there is the option of source-level debugging. kgdb for
I-pipe patches aren't merged yet, but more convenient is KVM-based
debugging anyway. See [1] for the concept. Just requires VT-d or AMD
IOMMU on your target.
Jan
PS: Still no kernel coding style. Specifically the long lines makes it
hard to read.
[1]
http://chemnitzer.linux-tage.de/2012/vortraege/folien/1061-VirtualDebugging.pdf
--
Siemens AG, Corporate Technology, CT RTC ITP SDP-DE
Corporate Competence Center Embedded Linux
_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai