aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/bluetooth
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2009-02-06 17:56:36 -0500
committerMarcel Holtmann <marcel@holtmann.org>2009-02-27 00:14:41 -0500
commit6a8d3010b313d99adbb28f1826fac0234395bb26 (patch)
treee116cd7033e05e0e59b225484991e2a27188fc3e /include/net/bluetooth
parent984947dc64f82bc6cafa4d84ba1a139718f634a8 (diff)
Bluetooth: Fix double L2CAP connection request
If the remote L2CAP server uses authentication pending stage and encryption is enabled it can happen that a L2CAP connection request is sent twice due to a race condition in the connection state machine. When the remote side indicates any kind of connection pending, then track this state and skip sending of L2CAP commands for this period. Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'include/net/bluetooth')
-rw-r--r--include/net/bluetooth/l2cap.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/net/bluetooth/l2cap.h b/include/net/bluetooth/l2cap.h
index 1c8cf3e9b1ca..4781d285b2e9 100644
--- a/include/net/bluetooth/l2cap.h
+++ b/include/net/bluetooth/l2cap.h
@@ -259,6 +259,7 @@ struct l2cap_pinfo {
259#define L2CAP_CONF_REQ_SENT 0x01 259#define L2CAP_CONF_REQ_SENT 0x01
260#define L2CAP_CONF_INPUT_DONE 0x02 260#define L2CAP_CONF_INPUT_DONE 0x02
261#define L2CAP_CONF_OUTPUT_DONE 0x04 261#define L2CAP_CONF_OUTPUT_DONE 0x04
262#define L2CAP_CONF_CONNECT_PEND 0x80
262 263
263#define L2CAP_CONF_MAX_RETRIES 2 264#define L2CAP_CONF_MAX_RETRIES 2
264 265