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

Commit a30737ab authored by Peter Hurley's avatar Peter Hurley Committed by Greg Kroah-Hartman
Browse files

n_tty: Factor packet mode status change for reuse



Factor the packet mode status change from n_tty_flush_buffer
for use by follow-on patch.

Signed-off-by: default avatarPeter Hurley <peter@hurleysoftware.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 21622939
Loading
Loading
Loading
Loading
+14 −10
Original line number Diff line number Diff line
@@ -223,6 +223,18 @@ static void reset_buffer_flags(struct tty_struct *tty)
	n_tty_set_room(tty);
}

static void n_tty_packet_mode_flush(struct tty_struct *tty)
{
	unsigned long flags;

	spin_lock_irqsave(&tty->ctrl_lock, flags);
	if (tty->link->packet) {
		tty->ctrl_status |= TIOCPKT_FLUSHREAD;
		wake_up_interruptible(&tty->link->read_wait);
	}
	spin_unlock_irqrestore(&tty->ctrl_lock, flags);
}

/**
 *	n_tty_flush_buffer	-	clean input queue
 *	@tty:	terminal device
@@ -237,19 +249,11 @@ static void reset_buffer_flags(struct tty_struct *tty)

static void n_tty_flush_buffer(struct tty_struct *tty)
{
	unsigned long flags;
	/* clear everything and unthrottle the driver */
	reset_buffer_flags(tty);

	if (!tty->link)
		return;

	spin_lock_irqsave(&tty->ctrl_lock, flags);
	if (tty->link->packet) {
		tty->ctrl_status |= TIOCPKT_FLUSHREAD;
		wake_up_interruptible(&tty->link->read_wait);
	}
	spin_unlock_irqrestore(&tty->ctrl_lock, flags);
	if (tty->link)
		n_tty_packet_mode_flush(tty);
}

/**