diff options
author | Nick Pelly <npelly@google.com> | 2009-12-08 19:42:21 -0800 |
---|---|---|
committer | Arve Hjønnevåg <arve@android.com> | 2010-02-08 15:36:00 -0800 |
commit | d7897fd1e9fb3a5df0740dc2dc45ec94ca0965f2 (patch) | |
tree | 212679db880f96eafc6e1ed81aa2f3ab8e0f7e15 /include | |
parent | 7b75ff3c3f0b0014dd22c1db05ca916cd4b886e8 (diff) |
Bluetooth: Introduce L2CAP_LM_FLUSHABLE to allow flushing of ACL packets.
With Bluetooth 2.1 ACL packets can be flushable or non-flushable. This changes
makes the default ACL packet non-flushable, and allows selection of flushable
packets on a per-L2CAP socket basis with L2CAP_LM_FLUSHABLE.
Note the HCI Write Automatic Flush Timeout command also needs to be issued
to set the flush timeout to non-zero.
Need to featurize this change to Bluetooth 2.1 chipsets only before pushing
upstream.
Signed-off-by: Nick Pelly <npelly@google.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/net/bluetooth/hci.h | 5 | ||||
-rw-r--r-- | include/net/bluetooth/l2cap.h | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h index b2d8a99e5177..4f7795f27e04 100644 --- a/include/net/bluetooth/hci.h +++ b/include/net/bluetooth/hci.h @@ -143,11 +143,14 @@ enum { #define EDR_ESCO_MASK (ESCO_2EV3 | ESCO_3EV3 | ESCO_2EV5 | ESCO_3EV5) /* ACL flags */ +#define ACL_START 0x00 #define ACL_CONT 0x01 -#define ACL_START 0x02 +#define ACL_START_FLUSHABLE 0x02 #define ACL_ACTIVE_BCAST 0x04 #define ACL_PICO_BCAST 0x08 +#define ACL_PB_MASK (ACL_CONT | ACL_START | ACL_START_FLUSHABLE) + /* Baseband links */ #define SCO_LINK 0x00 #define ACL_LINK 0x01 diff --git a/include/net/bluetooth/l2cap.h b/include/net/bluetooth/l2cap.h index 9516f4b4a3c2..904d9a9d1c53 100644 --- a/include/net/bluetooth/l2cap.h +++ b/include/net/bluetooth/l2cap.h @@ -70,6 +70,7 @@ struct l2cap_conninfo { #define L2CAP_LM_TRUSTED 0x0008 #define L2CAP_LM_RELIABLE 0x0010 #define L2CAP_LM_SECURE 0x0020 +#define L2CAP_LM_FLUSHABLE 0x0040 /* L2CAP command codes */ #define L2CAP_COMMAND_REJ 0x01 @@ -316,6 +317,7 @@ struct l2cap_pinfo { __u8 sec_level; __u8 role_switch; __u8 force_reliable; + __u8 flushable; __u8 conf_req[64]; __u8 conf_len; |