BUG: sleeping function called from invalid context

Alan Cox alan at linux.intel.com
Tue May 10 05:32:56 EDT 2011

> On analysis, I found that this is due to the change introduced in 
> tty_ioctl.c where the termios mutex is taken to protect against
> parallel throttle/unthrottle. Probably IrCOMM stack code wasn't
> tested before merging this patch.
> Please suggest what should be done with the IrCOMM protocol stack
> code to resolve this problem?

It looks like the comments are wrong 

         * Just give it over to the line discipline. There is no need to
         * involve the flip buffers, since we are not running in an
         * handler

appears to be completely untrue

I suspect it just needs to use the tty_flip_buffer functions properly
instead of trying to do clever shortcuts

	tty_insert_flip_string(self->tty, skb->data, skb->len);

More information about the linux-arm-kernel mailing list