diff options
Diffstat (limited to 'net/bluetooth/l2cap_sock.c')
-rw-r--r-- | net/bluetooth/l2cap_sock.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/bluetooth/l2cap_sock.c b/net/bluetooth/l2cap_sock.c index 9bb4d1b3a483..0bc67dc5dcce 100644 --- a/net/bluetooth/l2cap_sock.c +++ b/net/bluetooth/l2cap_sock.c | |||
@@ -1112,7 +1112,8 @@ static int l2cap_sock_shutdown(struct socket *sock, int how) | |||
1112 | l2cap_chan_close(chan, 0); | 1112 | l2cap_chan_close(chan, 0); |
1113 | lock_sock(sk); | 1113 | lock_sock(sk); |
1114 | 1114 | ||
1115 | if (sock_flag(sk, SOCK_LINGER) && sk->sk_lingertime) | 1115 | if (sock_flag(sk, SOCK_LINGER) && sk->sk_lingertime && |
1116 | !(current->flags & PF_EXITING)) | ||
1116 | err = bt_sock_wait_state(sk, BT_CLOSED, | 1117 | err = bt_sock_wait_state(sk, BT_CLOSED, |
1117 | sk->sk_lingertime); | 1118 | sk->sk_lingertime); |
1118 | } | 1119 | } |