then we need updates to Documentation:
Documentation/serial/tty.txt::
| Driver Side Interfaces:
|
| receive_buf() - Hand buffers of bytes from the driver to the ldisc
| for processing. Semantics currently rather
| mysterious 8(
|
| write_wakeup() - May be called at any point between open and close.
| The TTY_DO_WRITE_WAKEUP flag indicates if a call
| is needed but always races versus calls. Thus the
| ldisc must be careful about setting order and to
| handle unexpected calls. Must not sleep.
|
| The driver is forbidden from calling this directly
| from the ->write call from the ldisc as the ldisc
| is permitted to call the driver write method from
| this function. In such a situation defer it.
documentation says ldisc is allowed to call ->write() from
->write_wakeup(). huh ?