Commit c03b355e authored by Andrei Emeltchenko's avatar Andrei Emeltchenko Committed by Johan Hedberg

Bluetooth: Add l2cap_chan_lock

Channel lock will be used to lock L2CAP channels which are locked
currently by socket locks.
Signed-off-by: default avatarAndrei Emeltchenko <andrei.emeltchenko@intel.com>
Acked-by: default avatarMarcel Holtmann <marcel@holtmann.org>
Reviewed-by: default avatarUlisses Furquim <ulisses@profusion.mobi>
Acked-by: default avatarGustavo F. Padovan <padovan@profusion.mobi>
Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
parent 3df91ea2
...@@ -497,6 +497,7 @@ struct l2cap_chan { ...@@ -497,6 +497,7 @@ struct l2cap_chan {
void *data; void *data;
struct l2cap_ops *ops; struct l2cap_ops *ops;
struct mutex lock;
}; };
struct l2cap_ops { struct l2cap_ops {
...@@ -609,6 +610,16 @@ static inline void l2cap_chan_put(struct l2cap_chan *c) ...@@ -609,6 +610,16 @@ static inline void l2cap_chan_put(struct l2cap_chan *c)
kfree(c); kfree(c);
} }
static inline void l2cap_chan_lock(struct l2cap_chan *chan)
{
mutex_lock(&chan->lock);
}
static inline void l2cap_chan_unlock(struct l2cap_chan *chan)
{
mutex_unlock(&chan->lock);
}
static inline void l2cap_set_timer(struct l2cap_chan *chan, static inline void l2cap_set_timer(struct l2cap_chan *chan,
struct delayed_work *work, long timeout) struct delayed_work *work, long timeout)
{ {
......
...@@ -247,6 +247,8 @@ struct l2cap_chan *l2cap_chan_create(struct sock *sk) ...@@ -247,6 +247,8 @@ struct l2cap_chan *l2cap_chan_create(struct sock *sk)
if (!chan) if (!chan)
return NULL; return NULL;
mutex_init(&chan->lock);
chan->sk = sk; chan->sk = sk;
write_lock(&chan_list_lock); write_lock(&chan_list_lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment