mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next
This commit is contained in:
@@ -406,7 +406,7 @@ struct l2cap_chan *l2cap_chan_create(void)
|
||||
|
||||
chan->state = BT_OPEN;
|
||||
|
||||
atomic_set(&chan->refcnt, 1);
|
||||
kref_init(&chan->kref);
|
||||
|
||||
/* This flag is cleared in l2cap_chan_ready() */
|
||||
set_bit(CONF_NOT_COMPLETE, &chan->conf_state);
|
||||
@@ -416,8 +416,10 @@ struct l2cap_chan *l2cap_chan_create(void)
|
||||
return chan;
|
||||
}
|
||||
|
||||
static void l2cap_chan_destroy(struct l2cap_chan *chan)
|
||||
static void l2cap_chan_destroy(struct kref *kref)
|
||||
{
|
||||
struct l2cap_chan *chan = container_of(kref, struct l2cap_chan, kref);
|
||||
|
||||
BT_DBG("chan %p", chan);
|
||||
|
||||
write_lock(&chan_list_lock);
|
||||
@@ -429,17 +431,16 @@ static void l2cap_chan_destroy(struct l2cap_chan *chan)
|
||||
|
||||
void l2cap_chan_hold(struct l2cap_chan *c)
|
||||
{
|
||||
BT_DBG("chan %p orig refcnt %d", c, atomic_read(&c->refcnt));
|
||||
BT_DBG("chan %p orig refcnt %d", c, atomic_read(&c->kref.refcount));
|
||||
|
||||
atomic_inc(&c->refcnt);
|
||||
kref_get(&c->kref);
|
||||
}
|
||||
|
||||
void l2cap_chan_put(struct l2cap_chan *c)
|
||||
{
|
||||
BT_DBG("chan %p orig refcnt %d", c, atomic_read(&c->refcnt));
|
||||
BT_DBG("chan %p orig refcnt %d", c, atomic_read(&c->kref.refcount));
|
||||
|
||||
if (atomic_dec_and_test(&c->refcnt))
|
||||
l2cap_chan_destroy(c);
|
||||
kref_put(&c->kref, l2cap_chan_destroy);
|
||||
}
|
||||
|
||||
void l2cap_chan_set_defaults(struct l2cap_chan *chan)
|
||||
@@ -1448,7 +1449,7 @@ int l2cap_chan_connect(struct l2cap_chan *chan, __le16 psm, u16 cid,
|
||||
int err;
|
||||
|
||||
BT_DBG("%s -> %s (type %u) psm 0x%2.2x", batostr(src), batostr(dst),
|
||||
dst_type, __le16_to_cpu(chan->psm));
|
||||
dst_type, __le16_to_cpu(psm));
|
||||
|
||||
hdev = hci_get_route(dst, src);
|
||||
if (!hdev)
|
||||
|
||||
Reference in New Issue
Block a user