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

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

 



On 06/06/06, Heiko Gerstung <[email protected]> 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.


[snip]

Under 2.4.32 this driver crashes (kernel panic) when I try to enslave a
network interface handled by it, with a 2.6 kernel there is no such
problem. Unfortunately I cannot go ahead with a 2.6 kernel at the
moment, because it lacks a properly running PPS support.

Wouldn't it make more sense to work on improving PPS (I assume you are
refering to NTP "pulse per second" btw) support in 2.6.x rather than
backporting an USB driver to 2.4.x ???


[snip]

Now I would need help in finding a way to substitute the two missing
functions in a 2.4 kernel environment and I desperately hope that
someone sees my dilemma and can help me somehow...

The book "Linux Device Drivers" third edition is available for free
online and describes 2.6.x USB drivers in a fair bit of detail.
Earlier editions of the book describe the 2.4.x kernel (don't know if
those are available for free, but it should be possible to get them
from a bookstore in any case).

Getting hold of the second & third editions of LDD and comparing the
USB info from both should give you some idea of where to start...


--
Jesper Juhl <[email protected]>
Don't top-post  http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please      http://www.expita.com/nomime.html
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux