summaryrefslogtreecommitdiffstats
path: root/net/bluetooth/l2cap_core.c
diff options
context:
space:
mode:
authorGustavo Padovan2012-05-11 18:16:12 +0200
committerGustavo Padovan2012-05-16 21:12:56 +0200
commit2d0ed3d5879edae4bf1c98eb3163466c30d41789 (patch)
tree3e80e3198a6dd1019457e43365ee42be58b5ee4f /net/bluetooth/l2cap_core.c
parentBluetooth: Fix packet size provided to the controller (diff)
downloadkernel-qcow2-linux-2d0ed3d5879edae4bf1c98eb3163466c30d41789.tar.gz
kernel-qcow2-linux-2d0ed3d5879edae4bf1c98eb3163466c30d41789.tar.xz
kernel-qcow2-linux-2d0ed3d5879edae4bf1c98eb3163466c30d41789.zip
Bluetooth: Fix skb length calculation
When we add a fragment to a skb, len and data_len fields need to be updated. Signed-off-by: Gustavo Padovan <gustavo@padovan.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Diffstat (limited to 'net/bluetooth/l2cap_core.c')
-rw-r--r--net/bluetooth/l2cap_core.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c
index 339f8344ee59..b3907a3b5236 100644
--- a/net/bluetooth/l2cap_core.c
+++ b/net/bluetooth/l2cap_core.c
@@ -1855,6 +1855,9 @@ static inline int l2cap_skbuff_fromiovec(struct l2cap_chan *chan,
sent += count;
len -= count;
+ skb->len += (*frag)->len;
+ skb->data_len += (*frag)->len;
+
frag = &(*frag)->next;
}