diff options
Diffstat (limited to 'net/bluetooth/a2mp.c')
-rw-r--r-- | net/bluetooth/a2mp.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/net/bluetooth/a2mp.c b/net/bluetooth/a2mp.c index 60ca52819247..efcd108822c4 100644 --- a/net/bluetooth/a2mp.c +++ b/net/bluetooth/a2mp.c | |||
@@ -672,7 +672,8 @@ static void a2mp_chan_close_cb(struct l2cap_chan *chan) | |||
672 | l2cap_chan_put(chan); | 672 | l2cap_chan_put(chan); |
673 | } | 673 | } |
674 | 674 | ||
675 | static void a2mp_chan_state_change_cb(struct l2cap_chan *chan, int state) | 675 | static void a2mp_chan_state_change_cb(struct l2cap_chan *chan, int state, |
676 | int err) | ||
676 | { | 677 | { |
677 | struct amp_mgr *mgr = chan->data; | 678 | struct amp_mgr *mgr = chan->data; |
678 | 679 | ||
@@ -709,6 +710,9 @@ static struct l2cap_ops a2mp_chan_ops = { | |||
709 | .teardown = l2cap_chan_no_teardown, | 710 | .teardown = l2cap_chan_no_teardown, |
710 | .ready = l2cap_chan_no_ready, | 711 | .ready = l2cap_chan_no_ready, |
711 | .defer = l2cap_chan_no_defer, | 712 | .defer = l2cap_chan_no_defer, |
713 | .resume = l2cap_chan_no_resume, | ||
714 | .set_shutdown = l2cap_chan_no_set_shutdown, | ||
715 | .get_sndtimeo = l2cap_chan_no_get_sndtimeo, | ||
712 | }; | 716 | }; |
713 | 717 | ||
714 | static struct l2cap_chan *a2mp_chan_open(struct l2cap_conn *conn, bool locked) | 718 | static struct l2cap_chan *a2mp_chan_open(struct l2cap_conn *conn, bool locked) |
@@ -832,6 +836,9 @@ struct l2cap_chan *a2mp_channel_create(struct l2cap_conn *conn, | |||
832 | { | 836 | { |
833 | struct amp_mgr *mgr; | 837 | struct amp_mgr *mgr; |
834 | 838 | ||
839 | if (conn->hcon->type != ACL_LINK) | ||
840 | return NULL; | ||
841 | |||
835 | mgr = amp_mgr_create(conn, false); | 842 | mgr = amp_mgr_create(conn, false); |
836 | if (!mgr) { | 843 | if (!mgr) { |
837 | BT_ERR("Could not create AMP manager"); | 844 | BT_ERR("Could not create AMP manager"); |