diff options
author | Mat Martineau <mathewm@codeaurora.org> | 2011-07-22 14:54:00 -0700 |
---|---|---|
committer | Gustavo F. Padovan <gustavo@padovan.org> | 2011-09-27 18:16:18 -0300 |
commit | 84084a3197a9fdec10fa542c0df11928a784e7fc (patch) | |
tree | 4da560352bb5af8418d22fc65e516004d2e666b5 /include/net | |
parent | 5b668eb3270f3f9c13ddf6e4fb57bf20c83dccff (diff) | |
download | linux-3.10-84084a3197a9fdec10fa542c0df11928a784e7fc.tar.gz linux-3.10-84084a3197a9fdec10fa542c0df11928a784e7fc.tar.bz2 linux-3.10-84084a3197a9fdec10fa542c0df11928a784e7fc.zip |
Bluetooth: Perform L2CAP SDU reassembly without copying data
Use sk_buff fragment capabilities to link together incoming skbs
instead of allocating a new skb for reassembly and copying.
The new reassembly code works equally well for ERTM and streaming
mode, so there is now one reassembly function instead of two.
Signed-off-by: Mat Martineau <mathewm@codeaurora.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/bluetooth/l2cap.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/include/net/bluetooth/l2cap.h b/include/net/bluetooth/l2cap.h index 7f878b9d564..ab90ae0970a 100644 --- a/include/net/bluetooth/l2cap.h +++ b/include/net/bluetooth/l2cap.h @@ -354,8 +354,8 @@ struct l2cap_chan { __u8 retry_count; __u8 num_acked; __u16 sdu_len; - __u16 partial_sdu_len; struct sk_buff *sdu; + struct sk_buff *sdu_last_frag; __u8 remote_tx_win; __u8 remote_max_tx; @@ -448,7 +448,6 @@ enum { #define L2CAP_CONF_MAX_CONF_RSP 2 enum { - CONN_SAR_SDU, CONN_SREJ_SENT, CONN_WAIT_F, CONN_SREJ_ACT, |