提交 7e1af8a3 编写于 作者: G Gustavo Padovan 提交者: Johan Hedberg

Bluetooth: Create empty l2cap ops function

A2MP doesn't use part of the L2CAP chan ops API so we just create general
empty function instead of the A2MP specific one.
Signed-off-by: NGustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
上级 8c3a4f00
......@@ -740,6 +740,18 @@ static inline __u16 __next_seq(struct l2cap_chan *chan, __u16 seq)
return (seq + 1) % (chan->tx_win_max + 1);
}
static inline struct l2cap_chan *l2cap_chan_no_new_connection(struct l2cap_chan *chan)
{
return NULL;
}
static inline void l2cap_chan_no_teardown(struct l2cap_chan *chan, int err)
{
}
static inline void l2cap_chan_no_ready(struct l2cap_chan *chan)
{
}
extern bool disable_ertm;
......
......@@ -440,23 +440,6 @@ static struct sk_buff *a2mp_chan_alloc_skb_cb(struct l2cap_chan *chan,
return bt_skb_alloc(len, GFP_KERNEL);
}
static struct l2cap_chan *a2mp_chan_no_new_conn_cb(struct l2cap_chan *chan)
{
BT_ERR("new_connection for chan %p not implemented", chan);
return NULL;
}
static void a2mp_chan_no_teardown_cb(struct l2cap_chan *chan, int err)
{
BT_ERR("teardown for chan %p not implemented", chan);
}
static void a2mp_chan_no_ready(struct l2cap_chan *chan)
{
BT_ERR("ready for chan %p not implemented", chan);
}
static struct l2cap_ops a2mp_chan_ops = {
.name = "L2CAP A2MP channel",
.recv = a2mp_chan_recv_cb,
......@@ -465,9 +448,9 @@ static struct l2cap_ops a2mp_chan_ops = {
.alloc_skb = a2mp_chan_alloc_skb_cb,
/* Not implemented for A2MP */
.new_connection = a2mp_chan_no_new_conn_cb,
.teardown = a2mp_chan_no_teardown_cb,
.ready = a2mp_chan_no_ready,
.new_connection = l2cap_chan_no_new_connection,
.teardown = l2cap_chan_no_teardown,
.ready = l2cap_chan_no_ready,
};
static struct l2cap_chan *a2mp_chan_open(struct l2cap_conn *conn)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册