Re: [PATCHv1 17/17] Bluetooth: A2MP: Manage incoming connections
From: Mat Martineau <hidden>
Date: 2012-05-22 17:38:57
Andrei - On Tue, 22 May 2012, Andrei Emeltchenko wrote:
Hi Mat, On Mon, May 21, 2012 at 03:45:38PM -0700, Mat Martineau wrote: ...quoted
quoted
@@ -4652,10 +4653,15 @@ static inline int l2cap_data_channel(struct l2cap_conn *conn, u16 cid, struct skchan = l2cap_get_chan_by_scid(conn, cid); if (!chan) { - BT_DBG("unknown cid 0x%4.4x", cid); - /* Drop packet and return */ - kfree_skb(skb); - return 0; + if (cid == L2CAP_CID_A2MP) { + chan = a2mp_channel_create(conn, skb);This allocates a new AMP manager for each incoming command, doesn't it? I'd expect the manager to be created once when it is first needed, then remain active until the ACL is closed.No. If AMP channel exist it will be returned with l2cap_get_chan_by_scid. Channel exist while ACL connection exist.
Oh, ok - I see that it is added to the channel list in l2cap_chan_add. Thanks, -- Mat Martineau Employee of Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum