Skip to content

Commit

Permalink
Bluetooth: Add a structure to carry ERTM data in skb control blocks
Browse files Browse the repository at this point in the history
Every field from ERTM control headers is now carried in the control
block so it only has to be parsed or generated once, and can be
efficiently accessed throughout the ERTM code.

Signed-off-by: Mat Martineau <mathewm@codeaurora.org>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo Padovan <gustavo@padovan.org>
  • Loading branch information
Mat Martineau authored and Gustavo Padovan committed May 9, 2012
1 parent d5f7ac3 commit 00e3112
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions include/net/bluetooth/bluetooth.h
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,18 @@ void bt_accept_unlink(struct sock *sk);
struct sock *bt_accept_dequeue(struct sock *parent, struct socket *newsock);

/* Skb helpers */
struct l2cap_ctrl {
unsigned int sframe : 1,
poll : 1,
final : 1,
fcs : 1,
sar : 2,
super : 2;
__u16 reqseq;
__u16 txseq;
__u8 retries;
};

struct bt_skb_cb {
__u8 pkt_type;
__u8 incoming;
Expand All @@ -223,6 +235,7 @@ struct bt_skb_cb {
__u8 retries;
__u8 sar;
__u8 force_active;
struct l2cap_ctrl control;
};
#define bt_cb(skb) ((struct bt_skb_cb *)((skb)->cb))

Expand Down

0 comments on commit 00e3112

Please sign in to comment.