diff options
author | Andrei Emeltchenko <andrei.emeltchenko@intel.com> | 2012-10-31 15:46:34 +0200 |
---|---|---|
committer | Gustavo Padovan <gustavo.padovan@collabora.co.uk> | 2012-11-01 20:27:09 -0200 |
commit | 419e08c1121ab346bf5f66fe0a21950529355cee (patch) | |
tree | b6cae064f3d8dc9f5be29ced705caae341b956a9 /net/bluetooth/l2cap_core.c | |
parent | e58917b990ef0cc3903aa962236a0dae4f1f81a0 (diff) | |
download | lwn-419e08c1121ab346bf5f66fe0a21950529355cee.tar.gz lwn-419e08c1121ab346bf5f66fe0a21950529355cee.zip |
Bluetooth: Disconnect logical link when deleting chan
Disconnect logical link for high speed channel hs_hchan
associated with L2CAP channel chan.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@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_core.c')
-rw-r--r-- | net/bluetooth/l2cap_core.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c index ecc5020c9242..bb2cd9eaa8a1 100644 --- a/net/bluetooth/l2cap_core.c +++ b/net/bluetooth/l2cap_core.c @@ -578,6 +578,13 @@ void l2cap_chan_del(struct l2cap_chan *chan, int err) mgr->bredr_chan = NULL; } + if (chan->hs_hchan) { + struct hci_chan *hs_hchan = chan->hs_hchan; + + BT_DBG("chan %p disconnect hs_hchan %p", chan, hs_hchan); + amp_disconnect_logical_link(hs_hchan); + } + chan->ops->teardown(chan, err); if (test_bit(CONF_NOT_COMPLETE, &chan->conf_state)) |