[EMAIL PROTECTED] wrote:
There seems to be a bug in lis_free_irq().
<snip>
>
The problem is that if irq kicks in before it is released at (A2) but
after handler is NULLed at (A1)
and lis_khandler() is called, it will fail at (B1) since dv->handler
is NULL already.
With a quick look at the code, I would agree that the free_irq() call
should be moved up to before the handler is NULLed and that the dv
structure should be freed (as is done in lis_free_devid_list()).
Thanks for sharing.
Just one additional note on this in case you discovered this while
chasing down an interrupt problem: The hardware should be programmed
to no longer generate an interrupt _before_ lis_free_irq() is called.
If that is done, then that bug is only a problem when there are
shared interrupts. If that's not done, then there can still be
interrupt issues (unserviced IRQs) even after this is fixed.
Regards,
Steve
------------------------------------------------------------------------
Steve Schefter phone: +1 705 725 9999 x26
The Software Group Limited fax: +1 705 725 9666
642 Welham Road, email: [EMAIL PROTECTED]
Barrie, Ontario CANADA L4N 9A1 Web: www.wanware.com
_______________________________________________
Linux-streams mailing list
[email protected]
http://gsyc.escet.urjc.es/mailman/listinfo/linux-streams