[lkml]   [1999]   [Dec]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRE: Binary drivers
On Sun, 5 Dec 1999, Bret Indrelee wrote:

>5. It used to be that you would just change the task state, now you have to
>use set_task_state() for 2.3 and later.

There's none interface out there that could prevent you to fix the
wait-event SMP race inside your own device driver (you must provide a new
binary driver to fix it).

If you don't need to provide a new driver it means you was just doing
things like this via the binary-only API:

static int a;

void set_a_1(void)
a = 1;

Only in such case you would not need to recompile your driver.

NOTE: during the driver developement you didn't known that `a = 1' was a
problem and so there was no one point to implement a set_a_1 there and you
gone inlined obviously.

If the driver would been GPL'd and kept updated into the kernel, I would
have just fixed such an SMP race myself silenty at 2.3.16 time and the
vendor would find his driver fixed and updated automagically.

There are things that can't be fixed without recompiling the
driver because using of an interface (pointer to function) for each
single instruction (like in the above example) will slowdown the kernel
way too much.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:55    [W:0.051 / U:10.148 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site