Porting char driving from 2.2 to 2.4 : changes in API to know

Alex Ivchenko (aivchenko@ueidaq.com)
Mon, 16 Jul 2001 20:09:25 -0400


All,

I'm porting dataq driver from 2.2 to 2.4 and found a problem with using
interruptible_sleep_on_timeout() and wake_up_interruptible().

Knowing that wait queue was reorganized in 2.4 I declared queue head as:

static DECLARE_WAIT_QUEUE_HEAD(wqhead);

and then in ioctl routine

..
// put request on hold
interruptible_sleep_on_timeout(&wqhead, jiffies);
...

and

..
// release process
wake_up_interruptible(&wqhead);

interruptible_sleep_on_timeout() works correctly and releases process when timeout
expires. However wake_up_interruptible() doesn't work.

Questions:
1. Is "interruptible" functions still recommended for use under 2.4?
2. What other changes made can potentially affect this mechanism?
3. Should I use some special options/flags to compile modules under 2.4
(beyond discussed in lkml FAQ)?

-- 
Regards,
Alex

--
Alex Ivchenko, Ph.D.
United Electronic Industries, Inc.
"The High-Performance Alternative (tm)"
--
10 Dexter Avenue
Watertown, Massachusetts 02472
Tel: (617) 924-1155 x 222 Fax: (617) 924-1441
http://www.ueidaq.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/