lkml.org 
[lkml]   [2009]   [Dec]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 37/58] tty: tty_port: Add IO_ERROR bit handling
    Date
    From: Alan Cox <alan@linux.intel.com>

    To propogate tty_port_open/close to a few other devices we need to start
    handling the IO_ERROR flag on the tty. We can do this pretty trivially.

    Signed-off-by: Alan Cox <alan@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    ---
    drivers/char/tty_port.c | 6 +++++-
    1 files changed, 5 insertions(+), 1 deletions(-)

    diff --git a/drivers/char/tty_port.c b/drivers/char/tty_port.c
    index 3ef644a..43a1907 100644
    --- a/drivers/char/tty_port.c
    +++ b/drivers/char/tty_port.c
    @@ -122,8 +122,10 @@ void tty_port_hangup(struct tty_port *port)
    spin_lock_irqsave(&port->lock, flags);
    port->count = 0;
    port->flags &= ~ASYNC_NORMAL_ACTIVE;
    - if (port->tty)
    + if (port->tty) {
    + set_bit(TTY_IO_ERROR, &port->tty->flags);
    tty_kref_put(port->tty);
    + }
    port->tty = NULL;
    spin_unlock_irqrestore(&port->lock, flags);
    wake_up_interruptible(&port->open_wait);
    @@ -383,6 +385,7 @@ void tty_port_close(struct tty_port *port, struct tty_struct *tty,
    if (tty_port_close_start(port, tty, filp) == 0)
    return;
    tty_port_shutdown(port);
    + set_bit(TTY_IO_ERROR, &tty->flags);
    tty_port_close_end(port, tty);
    tty_port_tty_set(port, NULL);
    }
    @@ -414,6 +417,7 @@ int tty_port_open(struct tty_port *port, struct tty_struct *tty,
    }
    }
    set_bit(ASYNCB_INITIALIZED, &port->flags);
    + clear_bit(TTY_IO_ERROR, &tty->flags);
    }
    mutex_unlock(&port->mutex);
    return tty_port_block_til_ready(port, tty, filp);
    --
    1.6.5.5


    \
     
     \ /
      Last update: 2009-12-12 00:55    [W:0.021 / U:29.924 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site