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

Commit 906cbe13 authored by Jiri Slaby's avatar Jiri Slaby Committed by Greg Kroah-Hartman
Browse files

TTY: remove tty_locked



We used it really only serial and ami_serial. The rest of the
callsites were BUG/WARN_ONs to check if BTM is held. Now that we
pruned tty_locked from both of the real users, we can get rid of
tty_lock along with __big_tty_mutex_owner.

Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
Cc: Alan Cox <alan@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent eff4b0b9
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -1245,8 +1245,6 @@ static void uart_close(struct tty_struct *tty, struct file *filp)
	struct uart_port *uport;
	unsigned long flags;

	BUG_ON(!tty_locked());

	if (!state)
		return;

@@ -1411,7 +1409,6 @@ static void uart_hangup(struct tty_struct *tty)
	struct tty_port *port = &state->port;
	unsigned long flags;

	BUG_ON(!tty_locked());
	pr_debug("uart_hangup(%d)\n", state->uart_port->line);

	mutex_lock(&port->mutex);
@@ -1498,7 +1495,6 @@ static int uart_open(struct tty_struct *tty, struct file *filp)
	struct tty_port *port;
	int retval, line = tty->index;

	BUG_ON(!tty_locked());
	pr_debug("uart_open(%d) called\n", line);

	/*
+0 −1
Original line number Diff line number Diff line
@@ -450,7 +450,6 @@ static int tty_ldisc_open(struct tty_struct *tty, struct tty_ldisc *ld)
	if (ld->ops->open) {
		int ret;
                /* BTM here locks versus a hangup event */
		WARN_ON(!tty_locked());
		ret = ld->ops->open(tty);
		if (ret)
			clear_bit(TTY_LDISC_OPEN, &tty->flags);
+0 −12
Original line number Diff line number Diff line
@@ -15,30 +15,18 @@
 * Don't use in new code.
 */
static DEFINE_MUTEX(big_tty_mutex);
struct task_struct *__big_tty_mutex_owner;
EXPORT_SYMBOL_GPL(__big_tty_mutex_owner);

/*
 * Getting the big tty mutex.
 */
void __lockfunc tty_lock(void)
{
	struct task_struct *task = current;

	WARN_ON(__big_tty_mutex_owner == task);

	mutex_lock(&big_tty_mutex);
	__big_tty_mutex_owner = task;
}
EXPORT_SYMBOL(tty_lock);

void __lockfunc tty_unlock(void)
{
	struct task_struct *task = current;

	WARN_ON(__big_tty_mutex_owner != task);
	__big_tty_mutex_owner = NULL;

	mutex_unlock(&big_tty_mutex);
}
EXPORT_SYMBOL(tty_unlock);
+2 −2
Original line number Diff line number Diff line
@@ -301,6 +301,8 @@ int set_selection(const struct tiocl_selection __user *sel, struct tty_struct *t
/* Insert the contents of the selection buffer into the
 * queue of the tty associated with the current console.
 * Invoked by ioctl().
 *
 * Locking: always called with BTM from vt_ioctl
 */
int paste_selection(struct tty_struct *tty)
{
@@ -310,8 +312,6 @@ int paste_selection(struct tty_struct *tty)
	struct  tty_ldisc *ld;
	DECLARE_WAITQUEUE(wait, current);

	/* always called with BTM from vt_ioctl */
	WARN_ON(!tty_locked());

	console_lock();
	poke_blanked_console();
+0 −2
Original line number Diff line number Diff line
@@ -600,8 +600,6 @@ extern long vt_compat_ioctl(struct tty_struct *tty,
/* functions for preparation of BKL removal */
extern void __lockfunc tty_lock(void) __acquires(tty_lock);
extern void __lockfunc tty_unlock(void) __releases(tty_lock);
extern struct task_struct *__big_tty_mutex_owner;
#define tty_locked()		(current == __big_tty_mutex_owner)

/*
 * wait_event_interruptible_tty -- wait for a condition with the tty lock held