Re: tty_flip_buffer() from atomic context when low_latency==1
From: Alan Cox <hidden>
Date: 2011-08-19 20:25:38
From: Alan Cox <hidden>
Date: 2011-08-19 20:25:38
But, many drivers appear to call tty_flip_buffer_push() from an atomic context. If that is done with tty->low_latency==1 it turns into a call to flush_to_ldisc(), which then calls disc->ops->receive_buf(), which must not be called from an atomic context.
It's covered under "So don't do that then".
Is the low_latency flag being forced to 0 somewhere behind the scenes when tty_flip_buffer_push() is being called from an atomic context?
No. The driver authors are assumed to have a modicum of competence and if they don't usually a shower of lock debug messages enlightens appropriately. Alan