From 2a1b3c0de5b3b025b6e1c0f3ce2a8cd00e2dbdfa Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Mon, 20 Feb 2012 23:53:46 +0200 Subject: [PATCH] --- yaml --- r: 290997 b: refs/heads/master c: 1e16357480fdeaeff7c5572f1afba7835473fcb6 h: refs/heads/master i: 290995: 4dd78f8a4e8104969c23a5b8131f6c0cc4950c4b v: v3 --- [refs] | 2 +- trunk/net/bluetooth/mgmt.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 4d7205a4af97..e6c04a3029c0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6d80dfd094a7b286e95cdcac79efeb7bbb4e226f +refs/heads/master: 1e16357480fdeaeff7c5572f1afba7835473fcb6 diff --git a/trunk/net/bluetooth/mgmt.c b/trunk/net/bluetooth/mgmt.c index edf84c3e6a2b..aa0d64040fac 100644 --- a/trunk/net/bluetooth/mgmt.c +++ b/trunk/net/bluetooth/mgmt.c @@ -1065,6 +1065,12 @@ static int set_ssp(struct sock *sk, u16 index, void *data, u16 len) goto failed; } + if (!(hdev->features[6] & LMP_SIMPLE_PAIR)) { + err = cmd_status(sk, index, MGMT_OP_SET_SSP, + MGMT_STATUS_NOT_SUPPORTED); + goto failed; + } + if (mgmt_pending_find(MGMT_OP_SET_SSP, hdev)) { err = cmd_status(sk, index, MGMT_OP_SET_SSP, MGMT_STATUS_BUSY); goto failed;