summaryrefslogtreecommitdiffstats
path: root/net/bluetooth/l2cap_sock.c
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@intel.com>2013-09-25 13:26:05 +0300
committerGustavo Padovan <gustavo.padovan@collabora.co.uk>2013-09-25 14:30:10 -0300
commit970871bc9cb2f5f783cb7cca31ff223c44662327 (patch)
tree7b4cb482b6441f43b17388b359232f36d0b47dc6 /net/bluetooth/l2cap_sock.c
parent0fba96f97bba73469dd952319fddc4a3cc99dd97 (diff)
downloadlinux-970871bc9cb2f5f783cb7cca31ff223c44662327.tar.bz2
Bluetooth: Clean up socket locking in l2cap_sock_recvmsg
This patch cleans up the locking login in l2cap_sock_recvmsg by pairing up each lock_sock call with a release_sock call. The function already has a "done" label that handles releasing the socket and returning from the function so the fix is rather simple. Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Acked-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Diffstat (limited to 'net/bluetooth/l2cap_sock.c')
-rw-r--r--net/bluetooth/l2cap_sock.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/bluetooth/l2cap_sock.c b/net/bluetooth/l2cap_sock.c
index ad95b426b09c..c85537ca1a23 100644
--- a/net/bluetooth/l2cap_sock.c
+++ b/net/bluetooth/l2cap_sock.c
@@ -805,8 +805,8 @@ static int l2cap_sock_recvmsg(struct kiocb *iocb, struct socket *sock,
pi->chan->state = BT_CONFIG;
__l2cap_connect_rsp_defer(pi->chan);
- release_sock(sk);
- return 0;
+ err = 0;
+ goto done;
}
release_sock(sk);