diff --git a/net/bluetooth/rfcomm/sock.c b/net/bluetooth/rfcomm/sock.c index 5a490f707..4cf1fa990 100755 --- a/net/bluetooth/rfcomm/sock.c +++ b/net/bluetooth/rfcomm/sock.c @@ -871,7 +871,9 @@ static int rfcomm_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned lon if (err == -ENOIOCTLCMD) { #ifdef CONFIG_BT_RFCOMM_TTY + lock_sock(sk); err = rfcomm_dev_ioctl(sk, cmd, (void __user *) arg); + release_sock(sk); #else err = -EOPNOTSUPP; #endif