aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@intel.com>2016-04-06 06:09:05 -0400
committerMarcel Holtmann <marcel@holtmann.org>2016-04-08 12:50:40 -0400
commitf18ba58f538e44a701ad0b86d47bb57b917d7c0a (patch)
treefef95c76d348a6b3031db3dff60efa21348be8f8
parent9ef280c6c28f0c01aa9d909263ad47c796713a8e (diff)
Bluetooth: Fix setting NO_BREDR advertising flag
If we're dealing with a single-mode controller or BR/EDR is disable for a dual-mode one, the NO_BREDR flag needs to be unconditionally present in the advertising data. This patch moves it out from behind an extra condition to be always set in the create_instance_adv_data() function if BR/EDR is disabled. Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
-rw-r--r--net/bluetooth/hci_request.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/net/bluetooth/hci_request.c b/net/bluetooth/hci_request.c
index 6e125d76df0d..c045b3c54768 100644
--- a/net/bluetooth/hci_request.c
+++ b/net/bluetooth/hci_request.c
@@ -1065,6 +1065,9 @@ static u8 create_instance_adv_data(struct hci_dev *hdev, u8 instance, u8 *ptr)
1065 if (instance_flags & MGMT_ADV_FLAG_LIMITED_DISCOV) 1065 if (instance_flags & MGMT_ADV_FLAG_LIMITED_DISCOV)
1066 flags |= LE_AD_LIMITED; 1066 flags |= LE_AD_LIMITED;
1067 1067
1068 if (!hci_dev_test_flag(hdev, HCI_BREDR_ENABLED))
1069 flags |= LE_AD_NO_BREDR;
1070
1068 if (flags || (instance_flags & MGMT_ADV_FLAG_MANAGED_FLAGS)) { 1071 if (flags || (instance_flags & MGMT_ADV_FLAG_MANAGED_FLAGS)) {
1069 /* If a discovery flag wasn't provided, simply use the global 1072 /* If a discovery flag wasn't provided, simply use the global
1070 * settings. 1073 * settings.
@@ -1072,9 +1075,6 @@ static u8 create_instance_adv_data(struct hci_dev *hdev, u8 instance, u8 *ptr)
1072 if (!flags) 1075 if (!flags)
1073 flags |= mgmt_get_adv_discov_flags(hdev); 1076 flags |= mgmt_get_adv_discov_flags(hdev);
1074 1077
1075 if (!hci_dev_test_flag(hdev, HCI_BREDR_ENABLED))
1076 flags |= LE_AD_NO_BREDR;
1077
1078 /* If flags would still be empty, then there is no need to 1078 /* If flags would still be empty, then there is no need to
1079 * include the "Flags" AD field". 1079 * include the "Flags" AD field".
1080 */ 1080 */