diff options
author | Johan Hedberg <johan.hedberg@intel.com> | 2016-04-06 06:09:05 -0400 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2016-04-08 12:50:40 -0400 |
commit | f18ba58f538e44a701ad0b86d47bb57b917d7c0a (patch) | |
tree | fef95c76d348a6b3031db3dff60efa21348be8f8 | |
parent | 9ef280c6c28f0c01aa9d909263ad47c796713a8e (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.c | 6 |
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 | */ |