Re: Backport of a 2.6.x USB driver to 2.4.32 - help needed

From: Nish Aravamudan
Date: Tue Jun 06 2006 - 14:30:00 EST


On 6/6/06, Jesper Juhl <jesper.juhl@xxxxxxxxx> wrote:
On 06/06/06, Heiko Gerstung <heiko.gerstung@xxxxxxxxxxx> wrote:
> Hi!
>
> Short Version (tm): I try to backport a USB driver (rtl8150.c) from
> 2.6.15.x to 2.4.32 and have no idea how to substitue two functions:
> in_atomic() and schedule_timeout_uninterruptible() ... I really would
> appreciate any help, because I am no kernel hacker at all ...
>
in_atomic() is used to test if the kernel is in a state where sleeping
is allowed or not. The 2.4.x kernel is not preemptive and has quite
coarse grained SMP support (the BKL "Big Kernel Lock"), it didin't
need in_atomic() in the same way as 2.6.x does.

schedule_timeout_uninterruptible() is used to sleep on a wait-queue,
which 2.4.x does not have.

schedule_timeout_uninterruptible(timeout_value) is just a wrapper for

set_current_state(TASK_UNINTERRUPTIBLE);
schedule_timeout(timeout_value);

Maybe you were thinking of sleep_on*()?

Thanks,
Nish
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/