which context can't use queue_work() function?

michi1 at michaelblizek.twilightparadox.com michi1 at michaelblizek.twilightparadox.com
Sat Dec 3 15:48:33 EST 2011


Hi!

On 21:56 Sat 03 Dec     , onlyfever wrote:
> Hi,
>     I have a question about work queue.
> I use queue_work() function in my TTY driver's write function (ch_tty_write()).
> The TTY driver works fine,but when this driver is called from
> ppp_write() function system would crash.
> 
> static int ch_tty_write(struct tty_struct *tty,
> 					const unsigned char *buf, int count)
> {
>       ......
>       queue_work(xxx,xxxx);
>       return count;
> }
> 
> I want to know  which context can't use queue_work() function?
> Put the crash message below.
> 
> Unable to handle kernel NULL pointer dereference at virtual address 00000003

Please check that you have properly called "INIT_WORK" and do pass any null
pointers to either INIT_WORK or queue_work. If this does not help, please
give us a pointer on where to get your kernel tree.

	-Michi
-- 
programing a layer 3+4 network protocol for mesh networks
see http://michaelblizek.twilightparadox.com



More information about the Kernelnewbies mailing list