summaryrefslogtreecommitdiff
path: root/net/bluetooth/rfcomm/sock.c
diff options
context:
space:
mode:
authorKalle Valo <kvalo@qca.qualcomm.com>2014-07-24 20:06:37 +0300
committerKalle Valo <kvalo@qca.qualcomm.com>2014-07-24 20:06:37 +0300
commit30d88ce331d566f496fe7bea25ee560dcfd253ae (patch)
treea1dfe71a00fad0fa20693c350557609f8ecf9d36 /net/bluetooth/rfcomm/sock.c
parentc29a380e4a8157f8bf6a91c216a77439a293c93d (diff)
parentbac9832076ee3b134bc859e07698c99276fc9459 (diff)
Merge remote-tracking branch 'wireless-next/master' into ath-next
Diffstat (limited to 'net/bluetooth/rfcomm/sock.c')
-rw-r--r--net/bluetooth/rfcomm/sock.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/bluetooth/rfcomm/sock.c b/net/bluetooth/rfcomm/sock.c
index c603a5eb4720..8bbbb5ec468c 100644
--- a/net/bluetooth/rfcomm/sock.c
+++ b/net/bluetooth/rfcomm/sock.c
@@ -918,7 +918,8 @@ static int rfcomm_sock_shutdown(struct socket *sock, int how)
sk->sk_shutdown = SHUTDOWN_MASK;
__rfcomm_sock_close(sk);
- if (sock_flag(sk, SOCK_LINGER) && sk->sk_lingertime)
+ if (sock_flag(sk, SOCK_LINGER) && sk->sk_lingertime &&
+ !(current->flags & PF_EXITING))
err = bt_sock_wait_state(sk, BT_CLOSED, sk->sk_lingertime);
}
release_sock(sk);