Bluetooth: Lock the L2CAP channel when sending
authorMat Martineau <mathewm@codeaurora.org>
Fri, 4 May 2012 21:20:31 +0000 (14:20 -0700)
committerGustavo Padovan <gustavo.padovan@collabora.co.uk>
Wed, 16 May 2012 19:14:02 +0000 (16:14 -0300)
commita6a5568c03c4805d4d250f6bd9d468eeeb4ea059
treea85da07516e3c584056373fbad175a3757040b5c
parentef191aded58c5e6860b01f463818584a420a4d6b
Bluetooth: Lock the L2CAP channel when sending

The ERTM and streaming mode transmit queue must only be accessed while
the L2CAP channel lock is held.  Locking the channel before calling
l2cap_chan_send ensures that multiple threads cannot simultaneously
manipulate the queue when sending and receiving concurrently.

L2CAP channel locking had previously moved to the l2cap_chan struct
instead of the associated socket, so some of the old socket locking
can also be removed in this patch.

Signed-off-by: Mat Martineau <mathewm@codeaurora.org>
Signed-off-by: Gustavo Padovan <gustavo@padovan.org>
include/net/bluetooth/bluetooth.h
net/bluetooth/l2cap_sock.c