diff options
author | Jiri Slaby <jslaby@suse.cz> | 2011-07-14 08:35:13 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-08-23 13:34:06 -0400 |
commit | eff4b0b9fe37873d3dc7ade0e08e6f0f89279b8b (patch) | |
tree | 85b245dbe8b2dd6ae6eb79a883223bf5e34b0bb6 /drivers/tty/amiserial.c | |
parent | 6a3e492b6daaf7ec4dc41e51d87d2aae8ff886f2 (diff) |
TTY: ami_serial, remove BTM from wait_until_sent
The same as in "TTY: serial, remove BTM from wait_until_sent" we don't
need to take BTM in wait_until_sent of ami_serial. Exactly the same
as serial, ami_serial accesses some "info" members (xmit_fifo_size,
timeout), but their assignment on other places in the code is not
protected by BTM anyway.
So the BTM protects nothing here. This removal helps us to get rid of
tty_locked() and __big_tty_mutex_owner in the following patch. This
was suggested by Arnd.
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Cc: Alan Cox <alan@linux.intel.com>
Cc: Andreas Bombe <aeb@debian.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/tty/amiserial.c')
-rw-r--r-- | drivers/tty/amiserial.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/drivers/tty/amiserial.c b/drivers/tty/amiserial.c index 220579592c20..6d43f550b549 100644 --- a/drivers/tty/amiserial.c +++ b/drivers/tty/amiserial.c | |||
@@ -1529,7 +1529,6 @@ static void rs_wait_until_sent(struct tty_struct *tty, int timeout) | |||
1529 | { | 1529 | { |
1530 | struct async_struct * info = tty->driver_data; | 1530 | struct async_struct * info = tty->driver_data; |
1531 | unsigned long orig_jiffies, char_time; | 1531 | unsigned long orig_jiffies, char_time; |
1532 | int tty_was_locked = tty_locked(); | ||
1533 | int lsr; | 1532 | int lsr; |
1534 | 1533 | ||
1535 | if (serial_paranoia_check(info, tty->name, "rs_wait_until_sent")) | 1534 | if (serial_paranoia_check(info, tty->name, "rs_wait_until_sent")) |
@@ -1541,12 +1540,6 @@ static void rs_wait_until_sent(struct tty_struct *tty, int timeout) | |||
1541 | orig_jiffies = jiffies; | 1540 | orig_jiffies = jiffies; |
1542 | 1541 | ||
1543 | /* | 1542 | /* |
1544 | * tty_wait_until_sent is called from lots of places, | ||
1545 | * with or without the BTM. | ||
1546 | */ | ||
1547 | if (!tty_was_locked) | ||
1548 | tty_lock(); | ||
1549 | /* | ||
1550 | * Set the check interval to be 1/5 of the estimated time to | 1543 | * Set the check interval to be 1/5 of the estimated time to |
1551 | * send a single character, and make it at least 1. The check | 1544 | * send a single character, and make it at least 1. The check |
1552 | * interval should also be less than the timeout. | 1545 | * interval should also be less than the timeout. |
@@ -1586,8 +1579,7 @@ static void rs_wait_until_sent(struct tty_struct *tty, int timeout) | |||
1586 | break; | 1579 | break; |
1587 | } | 1580 | } |
1588 | __set_current_state(TASK_RUNNING); | 1581 | __set_current_state(TASK_RUNNING); |
1589 | if (!tty_was_locked) | 1582 | |
1590 | tty_unlock(); | ||
1591 | #ifdef SERIAL_DEBUG_RS_WAIT_UNTIL_SENT | 1583 | #ifdef SERIAL_DEBUG_RS_WAIT_UNTIL_SENT |
1592 | printk("lsr = %d (jiff=%lu)...done\n", lsr, jiffies); | 1584 | printk("lsr = %d (jiff=%lu)...done\n", lsr, jiffies); |
1593 | #endif | 1585 | #endif |