The HyperNews Linux KHG Discussion Pages

## interruptible_sleep_on() too slow!

  Forum: The Linux Kernel Hackers' Guide
  Keywords: device driver interrupts interruptible_sleep_on()
  Date: Fri, 31 Oct 1997 06:37:26 GMT
  From: Bill Blackwell <wjb@mit.edu>

    Hi,
       I'm in the process of writing a driver for a data
    acquisition board.  I'm having some difficulties setting up
    the interrupt handler.  Here's the problem:
I first write a byte to a register on the board which initiates a data conversion (when data is ready to be read, an interrupt is generated). The next line of code is an interruptible_sleep_on() call. On some occasions, the A/D board generates an interrupt BEFORE the i_s_o() call is complete, so the task is never put to sleep and added to the queue (I hope I have that right, I'm very new to this stuff...). When the companion wake_up_interruptible() call is made at the end of the interrupt handler routine, the program stalls, since there is nothing to be awakened.
       Is there a fix for this?
Thanks for reading this - sorry if this is excruciatingly trivial.