summaryrefslogtreecommitdiffstats
path: root/net/bluetooth/smp.h
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@intel.com>2014-02-28 17:10:03 +0100
committerMarcel Holtmann <marcel@holtmann.org>2014-02-28 17:17:46 +0100
commite3098be40bbde0fdd5fcfa6bf28491db421d333a (patch)
tree343f1e8eb406a28036c57a4a0317ac0e4930be71 /net/bluetooth/smp.h
parentBluetooth: Re-encrypt link after receiving an LTK (diff)
downloadlinux-e3098be40bbde0fdd5fcfa6bf28491db421d333a.tar.xz
linux-e3098be40bbde0fdd5fcfa6bf28491db421d333a.zip
Bluetooth: Delay LTK encryption to let remote receive all keys
Some devices may refuse to re-encrypt with the LTK if they haven't received all our keys yet. This patch adds a 250ms delay before attempting re-encryption with the LTK. Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/bluetooth/smp.h')
-rw-r--r--net/bluetooth/smp.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/bluetooth/smp.h b/net/bluetooth/smp.h
index 676395f93702..f55d83617218 100644
--- a/net/bluetooth/smp.h
+++ b/net/bluetooth/smp.h
@@ -121,6 +121,8 @@ struct smp_cmd_security_req {
#define SMP_FLAG_LTK_ENCRYPT 4
#define SMP_FLAG_COMPLETE 5
+#define SMP_REENCRYPT_TIMEOUT msecs_to_jiffies(250)
+
struct smp_chan {
struct l2cap_conn *conn;
u8 preq[7]; /* SMP Pairing Request */
@@ -140,6 +142,7 @@ struct smp_chan {
unsigned long smp_flags;
struct work_struct confirm;
struct work_struct random;
+ struct delayed_work reencrypt;
};
/* SMP Commands */