Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 00e3112c authored by Mat Martineau's avatar Mat Martineau Committed by Gustavo Padovan
Browse files

Bluetooth: Add a structure to carry ERTM data in skb control blocks



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: default avatarMat Martineau <mathewm@codeaurora.org>
Acked-by: default avatarMarcel Holtmann <marcel@holtmann.org>
Signed-off-by: default avatarGustavo Padovan <gustavo@padovan.org>
parent d5f7ac38
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -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;
@@ -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))