Commit 333055f2 authored by Gustavo F. Padovan's avatar Gustavo F. Padovan

Bluetooth: Don't use *_bh locks anymore

Those locks are not shared between interrupt and process context anymore,
so remove the part that disable interrupts.  We are still safe because
preemption is disabled.
Signed-off-by: default avatarGustavo F. Padovan <padovan@profusion.mobi>
parent e75a8b0c
...@@ -165,7 +165,7 @@ int l2cap_add_psm(struct l2cap_chan *chan, bdaddr_t *src, __le16 psm) ...@@ -165,7 +165,7 @@ int l2cap_add_psm(struct l2cap_chan *chan, bdaddr_t *src, __le16 psm)
{ {
int err; int err;
write_lock_bh(&chan_list_lock); write_lock(&chan_list_lock);
if (psm && __l2cap_global_chan_by_addr(psm, src)) { if (psm && __l2cap_global_chan_by_addr(psm, src)) {
err = -EADDRINUSE; err = -EADDRINUSE;
...@@ -190,17 +190,17 @@ int l2cap_add_psm(struct l2cap_chan *chan, bdaddr_t *src, __le16 psm) ...@@ -190,17 +190,17 @@ int l2cap_add_psm(struct l2cap_chan *chan, bdaddr_t *src, __le16 psm)
} }
done: done:
write_unlock_bh(&chan_list_lock); write_unlock(&chan_list_lock);
return err; return err;
} }
int l2cap_add_scid(struct l2cap_chan *chan, __u16 scid) int l2cap_add_scid(struct l2cap_chan *chan, __u16 scid)
{ {
write_lock_bh(&chan_list_lock); write_lock(&chan_list_lock);
chan->scid = scid; chan->scid = scid;
write_unlock_bh(&chan_list_lock); write_unlock(&chan_list_lock);
return 0; return 0;
} }
...@@ -289,9 +289,9 @@ struct l2cap_chan *l2cap_chan_create(struct sock *sk) ...@@ -289,9 +289,9 @@ struct l2cap_chan *l2cap_chan_create(struct sock *sk)
chan->sk = sk; chan->sk = sk;
write_lock_bh(&chan_list_lock); write_lock(&chan_list_lock);
list_add(&chan->global_l, &chan_list); list_add(&chan->global_l, &chan_list);
write_unlock_bh(&chan_list_lock); write_unlock(&chan_list_lock);
INIT_DELAYED_WORK(&chan->chan_timer, l2cap_chan_timeout); INIT_DELAYED_WORK(&chan->chan_timer, l2cap_chan_timeout);
...@@ -306,9 +306,9 @@ struct l2cap_chan *l2cap_chan_create(struct sock *sk) ...@@ -306,9 +306,9 @@ struct l2cap_chan *l2cap_chan_create(struct sock *sk)
void l2cap_chan_destroy(struct l2cap_chan *chan) void l2cap_chan_destroy(struct l2cap_chan *chan)
{ {
write_lock_bh(&chan_list_lock); write_lock(&chan_list_lock);
list_del(&chan->global_l); list_del(&chan->global_l);
write_unlock_bh(&chan_list_lock); write_unlock(&chan_list_lock);
l2cap_chan_put(chan); l2cap_chan_put(chan);
} }
...@@ -543,14 +543,14 @@ static u8 l2cap_get_ident(struct l2cap_conn *conn) ...@@ -543,14 +543,14 @@ static u8 l2cap_get_ident(struct l2cap_conn *conn)
* 200 - 254 are used by utilities like l2ping, etc. * 200 - 254 are used by utilities like l2ping, etc.
*/ */
spin_lock_bh(&conn->lock); spin_lock(&conn->lock);
if (++conn->tx_ident > 128) if (++conn->tx_ident > 128)
conn->tx_ident = 1; conn->tx_ident = 1;
id = conn->tx_ident; id = conn->tx_ident;
spin_unlock_bh(&conn->lock); spin_unlock(&conn->lock);
return id; return id;
} }
...@@ -4702,7 +4702,7 @@ static int l2cap_debugfs_show(struct seq_file *f, void *p) ...@@ -4702,7 +4702,7 @@ static int l2cap_debugfs_show(struct seq_file *f, void *p)
{ {
struct l2cap_chan *c; struct l2cap_chan *c;
read_lock_bh(&chan_list_lock); read_lock(&chan_list_lock);
list_for_each_entry(c, &chan_list, global_l) { list_for_each_entry(c, &chan_list, global_l) {
struct sock *sk = c->sk; struct sock *sk = c->sk;
...@@ -4715,7 +4715,7 @@ static int l2cap_debugfs_show(struct seq_file *f, void *p) ...@@ -4715,7 +4715,7 @@ static int l2cap_debugfs_show(struct seq_file *f, void *p)
c->sec_level, c->mode); c->sec_level, c->mode);
} }
read_unlock_bh(&chan_list_lock); read_unlock(&chan_list_lock);
return 0; return 0;
} }
......
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