summaryrefslogtreecommitdiffstats
path: root/net/bluetooth/a2mp.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2014-06-08 11:22:28 +0200
committerMarcel Holtmann <marcel@holtmann.org>2014-07-03 17:42:42 +0200
commitd9fbd02be5c201c1659ee0d79c0820bb68d95c8c (patch)
treeb2f7aa9fa77a90c45e5e5eeda0d47e16ef452c4c /net/bluetooth/a2mp.c
parentBluetooth: Shrink size of struct l2cap_ctrl fields (diff)
downloadlinux-d9fbd02be5c201c1659ee0d79c0820bb68d95c8c.tar.xz
linux-d9fbd02be5c201c1659ee0d79c0820bb68d95c8c.zip
Bluetooth: Use explicit header and body length for L2CAP SKB allocation
When allocating the L2CAP SKB for transmission, provide the upper layers with a clear distinction on what is the header and what is the body portion of the SKB. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Diffstat (limited to 'net/bluetooth/a2mp.c')
-rw-r--r--net/bluetooth/a2mp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/bluetooth/a2mp.c b/net/bluetooth/a2mp.c
index 1a5b1eb96d1a..0fd8d1dda709 100644
--- a/net/bluetooth/a2mp.c
+++ b/net/bluetooth/a2mp.c
@@ -693,11 +693,12 @@ static void a2mp_chan_state_change_cb(struct l2cap_chan *chan, int state,
}
static struct sk_buff *a2mp_chan_alloc_skb_cb(struct l2cap_chan *chan,
+ unsigned long hdr_len,
unsigned long len, int nb)
{
struct sk_buff *skb;
- skb = bt_skb_alloc(len, GFP_KERNEL);
+ skb = bt_skb_alloc(hdr_len + len, GFP_KERNEL);
if (!skb)
return ERR_PTR(-ENOMEM);