Re: BUG: sleeping function called from invalid context

From: Alan Cox
Date: Tue May 10 2011 - 05:47:57 EST


> 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
interrupt
* 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);
tty_flip_buffer_push(self->tty);

--
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/