Thanks Gilles,

The flags are zero (from example code).... should I have used RTDM_IRQTYPE_EDGE 
?

err = rtdm_irq_request(&info->gpio_irq, gpio_irq_n, imu_irq_handler, 0, 
THIS_MODULE->name,  NULL);

Terje

-----Original Message-----
From: Gilles Chanteperdrix [mailto:[email protected]] 
Sent: 2. desember 2014 10:57
To: Terje Frøysa
Cc: [email protected]
Subject: Re: [Xenomai] IRQ155 not handled. Disabling IRQ line

On Tue, Dec 02, 2014 at 09:51:01AM +0000, Terje Frøysa wrote:
> Well, the code:
>       DEBUG_PRINT(KERN_DEBUG "RTDM IMU %d - enable IRQ\n", info->gpio_pin_n);
>       err = rtdm_irq_enable(&info->gpio_irq); only exists one place in the 
> driver and is only executed in the kernel-context of  rt_dev_open() from 
> user-space.
> The irq-device is opened only once before entering the read-loop.
> 
> The repeated read calls from the user space (rt_dev_read()) only blocs on the 
> irq semaphore and copies the irq-time back to the user.
> I don't see how the irq-line can be re-enabled by this code.
> If the device have been repeatedly opened, the dmesg would have been flooded 
> with log-messages.

What flags do you pass to rtdm_irq_request?

-- 
                                            Gilles.
_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai

Reply via email to