diff options
author | Arnd Bergmann <arnd@arndb.de> | 2010-06-01 16:53:05 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-08-10 16:47:43 -0400 |
commit | be1bc2889a4db4961ef69f47fb471ecae9f23ade (patch) | |
tree | fd6d5e46e69efd9d66e6baa184988461f608f49a /drivers/serial/crisv10.c | |
parent | 4e608671674b62e97166f903830d5553e37970e8 (diff) |
tty: introduce wait_event_interruptible_tty
Calling wait_event_interruptible implicitly
releases the BKL when it sleeps, but we need
to do this explcitly when we have converted
it to a mutex.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/serial/crisv10.c')
-rw-r--r-- | drivers/serial/crisv10.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/serial/crisv10.c b/drivers/serial/crisv10.c index f848e188deae..94bfb9f238e1 100644 --- a/drivers/serial/crisv10.c +++ b/drivers/serial/crisv10.c | |||
@@ -3992,7 +3992,7 @@ block_til_ready(struct tty_struct *tty, struct file * filp, | |||
3992 | */ | 3992 | */ |
3993 | if (tty_hung_up_p(filp) || | 3993 | if (tty_hung_up_p(filp) || |
3994 | (info->flags & ASYNC_CLOSING)) { | 3994 | (info->flags & ASYNC_CLOSING)) { |
3995 | wait_event_interruptible(info->close_wait, | 3995 | wait_event_interruptible_tty(info->close_wait, |
3996 | !(info->flags & ASYNC_CLOSING)); | 3996 | !(info->flags & ASYNC_CLOSING)); |
3997 | #ifdef SERIAL_DO_RESTART | 3997 | #ifdef SERIAL_DO_RESTART |
3998 | if (info->flags & ASYNC_HUP_NOTIFY) | 3998 | if (info->flags & ASYNC_HUP_NOTIFY) |
@@ -4150,7 +4150,7 @@ rs_open(struct tty_struct *tty, struct file * filp) | |||
4150 | */ | 4150 | */ |
4151 | if (tty_hung_up_p(filp) || | 4151 | if (tty_hung_up_p(filp) || |
4152 | (info->flags & ASYNC_CLOSING)) { | 4152 | (info->flags & ASYNC_CLOSING)) { |
4153 | wait_event_interruptible(info->close_wait, | 4153 | wait_event_interruptible_tty(info->close_wait, |
4154 | !(info->flags & ASYNC_CLOSING)); | 4154 | !(info->flags & ASYNC_CLOSING)); |
4155 | #ifdef SERIAL_DO_RESTART | 4155 | #ifdef SERIAL_DO_RESTART |
4156 | return ((info->flags & ASYNC_HUP_NOTIFY) ? | 4156 | return ((info->flags & ASYNC_HUP_NOTIFY) ? |