sleeping function called from invalid context
Amit Virdi
amit.virdi at st.com
Wed May 11 04:43:21 EDT 2011
Hey Alan,
On 5/10/2011 3:02 PM, Alan Cox wrote:
>> 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);
>
> .
>
I incorporated the change suggested by you and tested the stack again.
It is working perfectly fine - no stack trace is printed now. I'll be
sending the patch soon.
Thanks n Regards
Amit Virdi
More information about the linux-arm-kernel
mailing list