Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dcfdc28f authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pul tty fixes from Greg Kroah-Hartman:
 "Here are two tty core fixes that resolve some regressions that have
  been reported recently.  Both tiny fixes, but needed"

* tag 'tty-3.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
  tty: Fix transient pty write() EIO
  tty/vt: Return EBUSY if deallocating VT1 and it is busy
parents 67e5b2fa 7c61c3d8
Loading
Loading
Loading
Loading
+5 −8
Original line number Diff line number Diff line
@@ -244,14 +244,9 @@ static void pty_flush_buffer(struct tty_struct *tty)

static int pty_open(struct tty_struct *tty, struct file *filp)
{
	int	retval = -ENODEV;

	if (!tty || !tty->link)
		goto out;

	set_bit(TTY_IO_ERROR, &tty->flags);
		return -ENODEV;

	retval = -EIO;
	if (test_bit(TTY_OTHER_CLOSED, &tty->flags))
		goto out;
	if (test_bit(TTY_PTY_LOCK, &tty->link->flags))
@@ -262,9 +257,11 @@ static int pty_open(struct tty_struct *tty, struct file *filp)
	clear_bit(TTY_IO_ERROR, &tty->flags);
	clear_bit(TTY_OTHER_CLOSED, &tty->link->flags);
	set_bit(TTY_THROTTLED, &tty->flags);
	retval = 0;
	return 0;

out:
	return retval;
	set_bit(TTY_IO_ERROR, &tty->flags);
	return -EIO;
}

static void pty_set_termios(struct tty_struct *tty,
+1 −4
Original line number Diff line number Diff line
@@ -289,13 +289,10 @@ static int vt_disallocate(unsigned int vc_num)
	struct vc_data *vc = NULL;
	int ret = 0;

	if (!vc_num)
		return 0;

	console_lock();
	if (VT_BUSY(vc_num))
		ret = -EBUSY;
	else
	else if (vc_num)
		vc = vc_deallocate(vc_num);
	console_unlock();