|
@@ -962,26 +962,28 @@ static u32 get_adv_instance_flags(struct hci_dev *hdev, u8 instance)
|
|
|
u32 flags;
|
|
|
struct adv_info *adv_instance;
|
|
|
|
|
|
- if (instance != 0x00) {
|
|
|
- adv_instance = hci_find_adv_instance(hdev, instance);
|
|
|
+ if (instance == 0x00) {
|
|
|
+ /* Instance 0 always manages the "Tx Power" and "Flags"
|
|
|
+ * fields
|
|
|
+ */
|
|
|
+ flags = MGMT_ADV_FLAG_TX_POWER | MGMT_ADV_FLAG_MANAGED_FLAGS;
|
|
|
|
|
|
- /* Return 0 when we got an invalid instance identifier. */
|
|
|
- if (!adv_instance)
|
|
|
- return 0;
|
|
|
+ /* For instance 0, the HCI_ADVERTISING_CONNECTABLE setting
|
|
|
+ * corresponds to the "connectable" instance flag.
|
|
|
+ */
|
|
|
+ if (hci_dev_test_flag(hdev, HCI_ADVERTISING_CONNECTABLE))
|
|
|
+ flags |= MGMT_ADV_FLAG_CONNECTABLE;
|
|
|
|
|
|
- return adv_instance->flags;
|
|
|
+ return flags;
|
|
|
}
|
|
|
|
|
|
- /* Instance 0 always manages the "Tx Power" and "Flags" fields */
|
|
|
- flags = MGMT_ADV_FLAG_TX_POWER | MGMT_ADV_FLAG_MANAGED_FLAGS;
|
|
|
+ adv_instance = hci_find_adv_instance(hdev, instance);
|
|
|
|
|
|
- /* For instance 0, the HCI_ADVERTISING_CONNECTABLE setting corresponds
|
|
|
- * to the "connectable" instance flag.
|
|
|
- */
|
|
|
- if (hci_dev_test_flag(hdev, HCI_ADVERTISING_CONNECTABLE))
|
|
|
- flags |= MGMT_ADV_FLAG_CONNECTABLE;
|
|
|
+ /* Return 0 when we got an invalid instance identifier. */
|
|
|
+ if (!adv_instance)
|
|
|
+ return 0;
|
|
|
|
|
|
- return flags;
|
|
|
+ return adv_instance->flags;
|
|
|
}
|
|
|
|
|
|
static u8 get_adv_instance_scan_rsp_len(struct hci_dev *hdev, u8 instance)
|