• Peter Hurley's avatar
    tty: Document locking for tty_port_block_til_ready() · c590f6b6
    Peter Hurley authored
    The tty lock is held when the tty driver's open() method is called
    (from tty_open()). The call-tree audit [1] of tty_port_block_til_ready()
    is a closed graph of the callers of tty_port_block_til_ready();
    ie., all callers originate only from tty_open().
    
    Of these callers, none drop the tty lock.
    
    Also, document tty_port_block_til_ready() may drop and reacquire
    the tty lock when blocking, which means the tty or tty_port may have
    changed state.
    
    [1]
    Call-tree audit of tty_port_block_til_ready()
    * does not include call tree of tty_port_open() which is already
      documented in 'tty: Document locking from tty_port_open()'
    
    tty_open()
      tty->ops->open() --+
                         |
            cy_open():drivers/tty/cyclades.c
            rp_open():drivers/tty/rocket.c
            rs_open():drivers/tty/amiserial.c
            moxa_open():drivers/tty/moxa.c
            gsmtty_open():drivers/tty/n_gsm.c
            rs_open():drivers/tty/serial/68328serial.c
            uart_open():drivers/tty/serial/serial_core.c
            isdn_tty_open():drivers/isdn/i4l/isdn_tty.c
            mgslpc_open():drivers/char/pcmcia/synclink_cs.c
                         |
                         +- tty_port_block_til_ready()
    Signed-off-by: default avatarPeter Hurley <peter@hurleysoftware.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    c590f6b6
tty_port.c 16.2 KB