]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Bluetooth: ISO: exclude RFU bits from ISO_SDU_Length
authorPauli Virtanen <pav@iki.fi>
Wed, 1 Jul 2026 15:46:39 +0000 (18:46 +0300)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Mon, 6 Jul 2026 14:46:58 +0000 (10:46 -0400)
slen contains ISO_SDU_Length (12 bits), RFU (2 bits),
Packet_Status_Flags (2 bits).

Exclude the RFU bits from hci_iso_data_len. Also add masks to the pack
macro.

Fixes: 4de0fc599eb9 ("Bluetooth: Add definitions for CIS connections")
Signed-off-by: Pauli Virtanen <pav@iki.fi>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
include/net/bluetooth/hci.h

index 38186a245f14dbd2a26cbc331e7f1b3e72f1a607..50f0eef71fb1986c11c9db30337d64c650adfc3b 100644 (file)
@@ -3413,8 +3413,9 @@ static inline struct hci_iso_hdr *hci_iso_hdr(const struct sk_buff *skb)
 #define hci_iso_flags_pack(pb, ts)     ((pb & 0x03) | ((ts & 0x01) << 2))
 
 /* ISO data length and flags pack/unpack */
-#define hci_iso_data_len_pack(h, f)    ((__u16) ((h) | ((f) << 14)))
-#define hci_iso_data_len(h)            ((h) & 0x3fff)
+#define hci_iso_data_len_pack(h, f)    ((__u16) (((h) & 0x0fff) | \
+                                                 (((f) & 0x3) << 14)))
+#define hci_iso_data_len(h)            ((h) & 0x0fff)
 #define hci_iso_data_flags(h)          ((h) >> 14)
 
 /* codec transport types */