summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorVladislav P <vladisslav@inbox.ru>2011-02-14 15:21:50 -0200
committerGustavo F. Padovan <padovan@profusion.mobi>2011-02-16 15:54:11 -0300
commit840af824b2bf9194ea596e0ddc7aa05066794ca1 (patch)
treee10fe7e455b9a4aaadf56cb3f0c0325208bc0118 /net
parent8efdd0cdc54f3bb5db464b3baf88f7441f54da47 (diff)
downloadlinux-3.10-840af824b2bf9194ea596e0ddc7aa05066794ca1.tar.gz
linux-3.10-840af824b2bf9194ea596e0ddc7aa05066794ca1.tar.bz2
linux-3.10-840af824b2bf9194ea596e0ddc7aa05066794ca1.zip
Bluetooth: Release BTM while sleeping to avoid deadlock
Signed-off-by: Vladislav P <vladisslav@inbox.ru> Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
Diffstat (limited to 'net')
-rw-r--r--net/bluetooth/rfcomm/tty.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/bluetooth/rfcomm/tty.c b/net/bluetooth/rfcomm/tty.c
index 2575c2db640..d7b9af4703d 100644
--- a/net/bluetooth/rfcomm/tty.c
+++ b/net/bluetooth/rfcomm/tty.c
@@ -727,7 +727,9 @@ static int rfcomm_tty_open(struct tty_struct *tty, struct file *filp)
break;
}
+ tty_unlock();
schedule();
+ tty_lock();
}
set_current_state(TASK_RUNNING);
remove_wait_queue(&dev->wait, &wait);