[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

freeing interrupts on device close



I am writing a device driver. I moved the interrupt allocation and release
calls to the open and release functions, but for some reason the free_irq call
fails. 

(I am writing the driver to be compatible with both RTL and plain linux, and
for now I am trying to get it to work for normal operation, but the kernel is
the RTL version: 2.2.14-rtl2.2.)

Why is it that the kernel does not free the interrupt in the release method?
Does this _have_ to be done in the cleanup_module() function? In the current
implementation no error messages are generated, but the /proc/interrupt shows
that it is still occupied after closing the device. The free_irq() is called
correctly.

thanks,

Willem
-- 

______________________________
Willem J Atsma
watsma@mech.ubc.ca
http://www.mech.ubc.ca/~watsma
______________________________