aboutsummaryrefslogtreecommitdiffstats
path: root/net/bluetooth/mgmt.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2013-10-14 12:55:32 -0400
committerJohan Hedberg <johan.hedberg@intel.com>2013-10-14 14:35:47 -0400
commit899e107577a8de67b97a877ed90bbfbfefb1916e (patch)
tree41f80f4a002967bc6d4f5750bd652e4cf439e708 /net/bluetooth/mgmt.c
parent1f209383f2be94e15e179da3a4cbcfeabcc2efc2 (diff)
Bluetooth: Check that scan window is smaller or equal than scan interval
The scan window parameter for connection establishment and passive scanning needs to be smaller or equal than the scan interval. Instead of waiting for a controller to reject these values later on, just reject them right away. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Diffstat (limited to 'net/bluetooth/mgmt.c')
-rw-r--r--net/bluetooth/mgmt.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index 813012f5032e..861e389f4b4c 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -3493,6 +3493,10 @@ static int set_scan_params(struct sock *sk, struct hci_dev *hdev,
3493 return cmd_status(sk, hdev->id, MGMT_OP_SET_SCAN_PARAMS, 3493 return cmd_status(sk, hdev->id, MGMT_OP_SET_SCAN_PARAMS,
3494 MGMT_STATUS_INVALID_PARAMS); 3494 MGMT_STATUS_INVALID_PARAMS);
3495 3495
3496 if (window > interval)
3497 return cmd_status(sk, hdev->id, MGMT_OP_SET_SCAN_PARAMS,
3498 MGMT_STATUS_INVALID_PARAMS);
3499
3496 hci_dev_lock(hdev); 3500 hci_dev_lock(hdev);
3497 3501
3498 hdev->le_scan_interval = interval; 3502 hdev->le_scan_interval = interval;