1. 29 Oct, 2021 23 commits
    • Luiz Augusto von Dentz's avatar
      Bluetooth: hci_sync: Rework hci_suspend_notifier · 182ee45d
      Luiz Augusto von Dentz authored
      This makes hci_suspend_notifier use the hci_*_sync which can be
      executed synchronously which is allowed in the suspend_notifier and
      simplifies a lot of the handling since the status of each command can
      be checked inline so no other work need to be scheduled thus can be
      performed without using of a state machine.
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      182ee45d
    • Luiz Augusto von Dentz's avatar
      Bluetooth: hci_sync: Rework init stages · d0b13706
      Luiz Augusto von Dentz authored
      This moves the init stages to use the hci_sync infra and in addition
      to that have the stages as function tables so it is easier to change
      the command sequence.
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      d0b13706
    • Brian Gix's avatar
      Bluetooth: hci_sync: Convert MGMT_OP_SSP · 3244845c
      Brian Gix authored
      mgmt-tester paths:
      Set SSP on - Success 2
      Set Device ID - SSP off and Power on
      Signed-off-by: default avatarBrian Gix <brian.gix@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      3244845c
    • Brian Gix's avatar
      Bluetooth: hci_sync: Convert adv_expire · 5e233ed5
      Brian Gix authored
      mgmt-test paths:
      Set Advertising on - Appearance 1
      Set Advertising on - Local name 1
      Set Advertising on - Name + Appear 1
      Set Local Name - Success 2
      Set Local Name - Success 3
      Add Advertising - Success (Empty ScRsp)
      Add Advertising - Success (ScRsp appear)
      Add Advertising - Invalid Params (ScRsp appear long)
      Add Advertising - Success (Complete name)
      Add Advertising - Success (Shortened name)
      Add Advertising - Success (Short name)
      Add Advertising - Success (Name + data)
      Add Advertising - Invalid Params (Name + data)
      Add Advertising - Success (Name+data+appear)
      Set appearance - BR/EDR LE
      Set appearance - LE only
      Add Ext Advertising - Success (Empty ScRsp)
      Add Ext Advertising - Success (ScRsp appear)
      Add Ext Advertising - Invalid Params (ScRsp appear long)
      Add Ext Advertising - Success (Complete name)
      Add Ext Advertising - Success (Shortened name)
      Add Ext Advertising - Success (Short name)
      Add Ext Advertising - Success (Name + data)
      Add Ext Advertising - Invalid Params (Name + data)
      Add Ext Advertising - Success (Name+data+appear)
      Signed-off-by: default avatarBrian Gix <brian.gix@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      5e233ed5
    • Brian Gix's avatar
      Bluetooth: hci_sync: Convert MGMT_OP_SET_ADVERTISING · 26ac4c56
      Brian Gix authored
      mgmt-test paths:
      Set powered on - Privacy and Advertising
      Set Advertising on - Success 2
      Set Advertising on - Appearance 1
      Set Advertising on - Local name 1
      Set Advertising on - Name + Appear 1
      Add Advertising - Success 4
      Add Advertising - Success 5
      Add Ext Advertising - Success 4
      Add Ext Advertising - Success 5
      Signed-off-by: default avatarBrian Gix <brian.gix@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      26ac4c56
    • Brian Gix's avatar
      Bluetooth: hci_sync: Convert MGMT_OP_SET_PHY_CONFIGURATION · 71efbb08
      Brian Gix authored
      mgmt-test paths:
      Set PHY 2m Success
      Set PHY coded Succcess
      Set PHY 1m 2m coded Succcess
      Set PHY 2m tx success
      Set PHY 2m rx success
      Set PHY Invalid Param
      Start Discovery - (2m, Scan Param)
      Start Discovery - (coded, Scan Param)
      Start Discovery - (1m, 2m, coded, Scan Param)
      Signed-off-by: default avatarBrian Gix <brian.gix@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      71efbb08
    • Brian Gix's avatar
      Bluetooth: hci_sync: Convert MGMT_OP_SET_LOCAL_NAME · 6f6ff38a
      Brian Gix authored
      Uses existing *_sync functions, but made hci_update_name_sync
      non-static.
      
      mgmt-test paths:
      Set Advertising on - Local name 1
      Set Advertising on - Name + Appear 1
      Set Local Name - Success 1
      Set Local Name - Success 2
      Set Local Name - Success 3
      Add Advertising - Success (Empty ScRsp)
      Add Advertising - Success (Complete name)
      Add Advertising - Success (Shortened name)
      Add Advertising - Success (Short name)
      Add Advertising - Success (Name + data)
      Add Advertising - Invalid Params (Name + data)
      Add Advertising - Success (Name+data+appear)
      Read Ext Controller Info 3
      Read Ext Controller Info 4
      Read Ext Controller Info 5
      Add Ext Advertising - Success (Empty ScRsp)
      Add Ext Advertising - Success (Complete name)
      Add Ext Advertising - Success (Shortened name)
      Add Ext Advertising - Success (Short name)
      Add Ext Advertising - Success (Name + data)
      Add Ext Advertising - Invalid Params (Name + data)
      Add Ext Advertising - Success (Name+data+appear)
      Signed-off-by: default avatarBrian Gix <brian.gix@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      6f6ff38a
    • Brian Gix's avatar
      Bluetooth: hci_sync: Convert MGMT_OP_READ_LOCAL_OOB_EXT_DATA · 177e77a3
      Brian Gix authored
      Uses existing *_sync functions
      
      mgmt-test paths:
      Read Local OOB Ext Data - Invalid index
      Read Local OOB Ext Data - Legacy pairing
      Read Local OOB Ext Data - Success SSP
      Read Local OOB Ext Data - Success SC
      Signed-off-by: default avatarBrian Gix <brian.gix@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      177e77a3
    • Brian Gix's avatar
      Bluetooth: hci_sync: Convert MGMT_OP_READ_LOCAL_OOB_DATA · f892244b
      Brian Gix authored
      New functions:
        hci_read_local_oob_data_sync
      
      This function requires all of the data from the cmd cmplt event
      to be passed up to the caller via the skb.
      
      mgmt-tester paths:
      Read Local OOB Data - Not powered
      Read Local OOB Data - Legacy pairing
      Read Local OOB Data - Success SSP
      Read Local OOB Data - Success SC
      Signed-off-by: default avatarBrian Gix <brian.gix@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      f892244b
    • Brian Gix's avatar
      Bluetooth: hci_sync: Convert MGMT_OP_SET_LE · d81a494c
      Brian Gix authored
      Uses:
        hci_disable_advertising_sync
        hci_remove_ext_adv_instance_sync
        hci_write_le_host_supported_sync
        hci_setup_ext_adv_instance_sync
        hci_update_scan_rsp_data_sync
      Signed-off-by: default avatarBrian Gix <brian.gix@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      d81a494c
    • Brian Gix's avatar
      Bluetooth: hci_sync: Convert MGMT_OP_GET_CLOCK_INFO · 5a750137
      Brian Gix authored
      Synchronous version of MGMT_OP_GET_CLOCK_INFO.
      Signed-off-by: default avatarBrian Gix <brian.gix@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      5a750137
    • Brian Gix's avatar
      Bluetooth: hci_sync: Convert MGMT_OP_SET_SECURE_CONN · 2f2eb0c9
      Brian Gix authored
      Synchronous version of MGMT_OP_SET_SECURE_CONN.
      Signed-off-by: default avatarBrian Gix <brian.gix@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      2f2eb0c9
    • Brian Gix's avatar
      Bluetooth: hci_sync: Convert MGMT_OP_GET_CONN_INFO · 47db6b42
      Brian Gix authored
      Synchronous version of MGMT_OP_GET_CONN_INFO
      
      Implements:
        hci_read_rssi_sync
        hci_read_tx_power_sync
      Signed-off-by: default avatarBrian Gix <brian.gix@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      47db6b42
    • Brian Gix's avatar
      Bluetooth: hci_sync: Enable synch'd set_bredr · 451d95a9
      Brian Gix authored
      Uses previously written:
        hci_write_fast_connectable_sync
        hci_update_scan_sync
        hci_update_adv_data_sync
      Signed-off-by: default avatarBrian Gix <brian.gix@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      451d95a9
    • Brian Gix's avatar
      Bluetooth: hci_sync: Convert MGMT_OP_SET_FAST_CONNECTABLE · 353a0249
      Brian Gix authored
      This creates a synchronized Write Fast Connectable call and attaches it
      to the MGMT_OP_SET_FAST_CONNECTABLE management opcode.
      Signed-off-by: default avatarBrian Gix <brian.gix@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      353a0249
    • Luiz Augusto von Dentz's avatar
      Bluetooth: hci_sync: Convert MGMT_OP_START_DISCOVERY · abfeea47
      Luiz Augusto von Dentz authored
      This make use of hci_cmd_sync_queue for MGMT_OP_START_DISCOVERY,
      MGMT_OP_START_SERVICE_DISCOVERY and MGMT_OP_STOP_DISCOVERY to use
      hci_cmd_sync_queue so they no longer depend on hdev->discov_update work
      to send any commands.
      
      Tested with:
      
      tools/mgmt-tester -s "Start Discovery"
      
      Test Summary
      ------------
      Start Discovery - Not powered 1                      Passed
      Start Discovery - Invalid parameters 1               Passed
      Start Discovery - Not supported 1                    Passed
      Start Discovery - Success 1                          Passed
      Start Discovery - Success 2                          Passed
      Start Discovery - Power Off 1                        Passed
      Start Discovery BREDR LE - (Ext Scan Enable)         Passed
      Start Discovery LE - (Ext Scan Enable)               Passed
      Start Discovery LE - (Ext Scan Param)                Passed
      Start Discovery - (2m, Scan Param)                   Passed
      Start Discovery - (coded, Scan Param)                Passed
      Start Discovery - (1m, 2m, coded, Scan Param)        Passed
      LL Privacy - Start Discovery 1 (Disable RL)          Passed
      LL Privacy - Start Discovery 2 (Disable RL)          Passed
      Total: 14, Passed: 14 (100.0%), Failed: 0, Not Run: 0
      
      tools/mgmt-tester -s "Start Service"
      
      Test Summary
      ------------
      Start Service Discovery - Not powered 1              Passed
      Start Service Discovery - Invalid parameters 1       Passed
      Start Service Discovery - Not supported 1            Passed
      Start Service Discovery - Success 1                  Passed
      Start Service Discovery - Success 2                  Passed
      Total: 5, Passed: 5 (100.0%), Failed: 0, Not Run: 0
      
      tools/mgmt-tester -s "Stop Discovery"
      
      Test Summary
      ------------
      Stop Discovery - Success 1                           Passed
      Stop Discovery - BR/EDR (Inquiry) Success 1          Passed
      Stop Discovery - Rejected 1                          Passed
      Stop Discovery - Invalid parameters 1                Passed
      Stop Discovery - (Ext Scan Disable)                  Passed
      Total: 5, Passed: 5 (100.0%), Failed: 0, Not Run: 0
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      abfeea47
    • Luiz Augusto von Dentz's avatar
      Bluetooth: hci_sync: Convert MGMT_SET_POWERED · cf75ad8b
      Luiz Augusto von Dentz authored
      This make use of hci_cmd_sync_queue when MGMT_SET_POWERED is used so all
      commands are run within hdev->cmd_sync_work instead of
      hdev->power_on_work and hdev->power_off_work.
      
      In addition to that the power on sequence now takes into account if
      local IRK needs to be programmed in the resolving list.
      
      Tested with:
      
      tools/mgmt-tester -s "Set powered"
      
      Test Summary
      ------------
      Set powered on - Success                             Passed
      Set powered on - Invalid parameters 1                Passed
      Set powered on - Invalid parameters 2                Passed
      Set powered on - Invalid parameters 3                Passed
      Set powered on - Invalid index                       Passed
      Set powered on - Privacy and Advertising             Passed
      Set powered off - Success                            Passed
      Set powered off - Class of Device                    Passed
      Set powered off - Invalid parameters 1               Passed
      Set powered off - Invalid parameters 2               Passed
      Set powered off - Invalid parameters 3               Passed
      Total: 11, Passed: 11 (100.0%), Failed: 0, Not Run: 0
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      cf75ad8b
    • Luiz Augusto von Dentz's avatar
      Bluetooth: hci_sync: Rework background scan · 5bee2fd6
      Luiz Augusto von Dentz authored
      This replaces the use of hci_update_background_scan with
      hci_update_passive_scan which runs from cmd_work_sync and deal properly
      with resolving list when LL privacy is enabled.
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      5bee2fd6
    • Luiz Augusto von Dentz's avatar
      Bluetooth: hci_sync: Enable advertising when LL privacy is enabled · ad383c2c
      Luiz Augusto von Dentz authored
      This enables advertising when LL privacy is enabled and changes the
      command sequence when resolving list is updated to also account for when
      advertising is enabled using the following sequence:
      
      If there are devices to scan:
      
      Disable Scanning -> Update Accept List ->
      use_ll_privacy((Disable Advertising) -> Disable Resolving List ->
      Update Resolving List -> Enable Resolving List -> (Enable Advertising)) ->
      Enable Scanning
      
      Otherwise:
      
      Disable Scanning
      
      Errors during the Update Accept List stage are handled gracefully by
      restoring any previous state (e.g. advertising) and disabling the use of
      accept list as either accept list or resolving list could not be
      updated.
      
      Tested with:
      
      mgmt-tester -s "LL Privacy"
      
      Test Summary
      ------------
      LL Privacy - Add Device 1 (Add to WL)                Passed
      LL Privacy - Add Device 2 (Add to RL)                Passed
      LL Privacy - Add Device 3 (Enable RL)                Passed
      LL Privacy - Add Device 4 (2 Devices to WL)          Passed
      LL Privacy - Add Device 5 (2 Devices to RL)          Passed
      LL Privacy - Add Device 6 (RL is full)               Passed
      LL Privacy - Add Device 7 (WL is full)               Passed
      LL Privacy - Add Device 8 (Disable Adv)              Passed
      LL Privacy - Add Device 9 (Multi Adv)                Passed
      LL Privacy - Add Device 10 (Multi Dev and Multi Adv) Passed
      LL Privacy - Remove Device 1 (Remove from WL)        Passed
      LL Privacy - Remove Device 2 (Remove from RL)        Passed
      LL Privacy - Remove Device 3 (Disable RL)            Passed
      LL Privacy - Remove Device 4 (Disable Adv)           Passed
      LL Privacy - Remove Device 5 (Multi Adv)             Passed
      LL Privacy - Start Discovery 1 (Disable RL)          Passed
      LL Privacy - Start Discovery 2 (Disable RL)          Passed
      Total: 18, Passed: 18 (100.0%), Failed: 0, Not Run: 0
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      ad383c2c
    • Luiz Augusto von Dentz's avatar
      Bluetooth: hci_sync: Make use of hci_cmd_sync_queue set 3 · e8907f76
      Luiz Augusto von Dentz authored
      This make use of hci_cmd_sync_queue for the following MGMT commands:
      
          Add Device
          Remove Device
      
      Tested with:
      
      mgmt-tester -s "Add Device"
      
      Test Summary
      ------------
      Add Device - Invalid Params 1                        Passed
      Add Device - Invalid Params 2                        Passed
      Add Device - Invalid Params 3                        Passed
      Add Device - Invalid Params 4                        Passed
      Add Device - Success 1                               Passed
      Add Device - Success 2                               Passed
      Add Device - Success 3                               Passed
      Add Device - Success 4                               Passed
      Add Device - Success 5                               Passed
      Add Device - Success 6 - Add to whitelist            Passed
      Add Device - Success 7 - Add to resolv list          Passed
      Add Device - Success 8 - Enable resolv list          Passed
      Total: 12, Passed: 12 (100.0%), Failed: 0, Not Run: 0
      Overall execution time: 0.209 seconds
      
      mgmt-tester -s "Remove Device"
      
      Test Summary
      ------------
      Remove Device - Invalid Params 1                     Passed
      Remove Device - Invalid Params 2                     Passed
      Remove Device - Invalid Params 3                     Passed
      Remove Device - Success 1                            Passed
      Remove Device - Success 2                            Passed
      Remove Device - Success 3                            Passed
      Remove Device - Success 4                            Passed
      Remove Device - Success 5                            Passed
      Remove Device - Success 6 - All Devices              Passed
      Remove Device - Success 7 - Remove from whitelist    Passed
      Remove Device - Success 8 - Remove from resolv list  Passed
      Total: 11, Passed: 11 (100.0%), Failed: 0, Not Run: 0
      Overall execution time: 4.26 seconds
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      e8907f76
    • Luiz Augusto von Dentz's avatar
      Bluetooth: hci_sync: Make use of hci_cmd_sync_queue set 2 · cba6b758
      Luiz Augusto von Dentz authored
      This make use of hci_cmd_sync_queue for the following MGMT commands:
      
      Add Advertising
      Remove Advertising
      Add Extended Advertising Parameters
      Add Extended Advertising Data
      
      mgmt-tester -s "Add Advertising"
      
      Test Summary
      ------------
      Add Advertising - Failure: LE off                    Passed
      Add Advertising - Invalid Params 1 (AD too long)     Passed
      Add Advertising - Invalid Params 2 (Malformed len)   Passed
      Add Advertising - Invalid Params 3 (Malformed len)   Passed
      Add Advertising - Invalid Params 4 (Malformed len)   Passed
      Add Advertising - Invalid Params 5 (AD too long)     Passed
      Add Advertising - Invalid Params 6 (ScRsp too long)  Passed
      Add Advertising - Invalid Params 7 (Malformed len)   Passed
      Add Advertising - Invalid Params 8 (Malformed len)   Passed
      Add Advertising - Invalid Params 9 (Malformed len)   Passed
      Add Advertising - Invalid Params 10 (ScRsp too long) Passed
      Add Advertising - Rejected (Timeout, !Powered)       Passed
      Add Advertising - Success 1 (Powered, Add Adv Inst)  Passed
      Add Advertising - Success 2 (!Powered, Add Adv Inst) Passed
      Add Advertising - Success 3 (!Powered, Adv Enable)   Passed
      Add Advertising - Success 4 (Set Adv on override)    Passed
      Add Advertising - Success 5 (Set Adv off override)   Passed
      Add Advertising - Success 6 (Scan Rsp Dta, Adv ok)   Passed
      Add Advertising - Success 7 (Scan Rsp Dta, Scan ok)  Passed
      Add Advertising - Success 8 (Connectable Flag)       Passed
      Add Advertising - Success 9 (General Discov Flag)    Passed
      Add Advertising - Success 10 (Limited Discov Flag)   Passed
      Add Advertising - Success 11 (Managed Flags)         Passed
      Add Advertising - Success 12 (TX Power Flag)         Passed
      Add Advertising - Success 13 (ADV_SCAN_IND)          Passed
      Add Advertising - Success 14 (ADV_NONCONN_IND)       Passed
      Add Advertising - Success 15 (ADV_IND)               Passed
      Add Advertising - Success 16 (Connectable -> on)     Passed
      Add Advertising - Success 17 (Connectable -> off)    Passed
      Add Advertising - Success 18 (Power -> off, Remove)  Passed
      Add Advertising - Success 19 (Power -> off, Keep)    Passed
      Add Advertising - Success 20 (Add Adv override)      Passed
      Add Advertising - Success 21 (Timeout expires)       Passed
      Add Advertising - Success 22 (LE -> off, Remove)     Passed
      Add Advertising - Success (Empty ScRsp)              Passed
      Add Advertising - Success (ScRsp only)               Passed
      Add Advertising - Invalid Params (ScRsp too long)    Passed
      Add Advertising - Success (ScRsp appear)             Passed
      Add Advertising - Invalid Params (ScRsp appear long) Passed
      Add Advertising - Success (Appear is null)           Passed
      Add Advertising - Success (Name is null)             Passed
      Add Advertising - Success (Complete name)            Passed
      Add Advertising - Success (Shortened name)           Passed
      Add Advertising - Success (Short name)               Passed
      Add Advertising - Success (Name + data)              Passed
      Add Advertising - Invalid Params (Name + data)       Passed
      Add Advertising - Success (Name+data+appear)         Passed
      Total: 47, Passed: 47 (100.0%), Failed: 0, Not Run: 0
      Overall execution time: 2.17 seconds
      
      mgmt-tester -s "Remove Advertising"
      
      Test Summary
      ------------
      Remove Advertising - Invalid Params 1                Passed
      Remove Advertising - Success 1                       Passed
      Remove Advertising - Success 2                       Passed
      Total: 3, Passed: 3 (100.0%), Failed: 0, Not Run: 0
      Overall execution time: 0.0585 seconds
      
      mgmt-tester -s "Ext Adv MGMT Params"
      
      Test Summary:
      ------------
      Ext Adv MGMT Params - Unpowered                      Passed
      Ext Adv MGMT Params - Invalid parameters             Passed
      Ext Adv MGMT Params - Success                        Passed
      Ext Adv MGMT Params - (5.0) Success                  Passed
      Total: 4, Passed: 4 (100.0%), Failed: 0, Not Run: 0
      Overall execution time: 0.0746 seconds
      
      mgmt-tester -s "Ext Adv MGMT -"
      
      Test Summary
      ------------
      Ext Adv MGMT - Data set without Params               Passed
      Ext Adv MGMT - AD Data (5.0) Invalid parameters      Passed
      Ext Adv MGMT - AD Data (5.0) Success                 Passed
      Ext Adv MGMT - AD Scan Response (5.0) Success        Passed
      Total: 4, Passed: 4 (100.0%), Failed: 0, Not Run: 0
      Overall execution time: 0.0805 seconds
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      cba6b758
    • Luiz Augusto von Dentz's avatar
      Bluetooth: hci_sync: Make use of hci_cmd_sync_queue set 1 · 161510cc
      Luiz Augusto von Dentz authored
      This make use of hci_cmd_sync_queue for the following MGMT commands:
      
      Set Device Class
      Set Device ID
      Add UUID
      Remove UUID
      
      tools/mgmt-tester -s "Set Device Class"
      
      Test Summary
      ------------
      Set Device Class - Success 1                         Passed
      Set Device Class - Success 2                         Passed
      Set Device Class - Invalid parameters 1              Passed
      Total: 3, Passed: 3 (100.0%), Failed: 0, Not Run: 0
      Overall execution time: 0.0599 seconds
      
      tools/mgmt-tester -s "Set Device ID"
      
      Test Summary
      ------------
      Set Device ID - Success 1                            Passed
      Set Device ID - Success 2                            Passed
      Set Device ID - Disable                              Passed
      Set Device ID - Power off and Power on               Passed
      Set Device ID - SSP off and Power on                 Passed
      Set Device ID - Invalid Parameter                    Passed
      Total: 6, Passed: 6 (100.0%), Failed: 0, Not Run: 0
      Overall execution time: 0.107 seconds
      
      tools/mgmt-tester -s "Add UUID"
      
      Test Summary
      ------------
      Add UUID - UUID-16 1                                 Passed
      Add UUID - UUID-16 multiple 1                        Passed
      Add UUID - UUID-16 partial 1                         Passed
      Add UUID - UUID-32 1                                 Passed
      Add UUID - UUID-32 multiple 1                        Passed
      Add UUID - UUID-32 partial 1                         Passed
      Add UUID - UUID-128 1                                Passed
      Add UUID - UUID-128 multiple 1                       Passed
      Add UUID - UUID-128 partial 1                        Passed
      Add UUID - UUID mix                                  Passed
      Total: 10, Passed: 10 (100.0%), Failed: 0, Not Run: 0
      Overall execution time: 0.198 seconds
      
      tools/mgmt-tester -s "Remove UUID"
      
      Test Summary
      ------------
      Remove UUID - Success 1                              Passed
      Remove UUID - All UUID - Success 2                   Passed
      Remove UUID - Power Off - Success 3                  Passed
      Remove UUID - Power Off and On - Success 4           Passed
      Remove UUID - Not Exist - Invalid Params 1           Passed
      Total: 5, Passed: 5 (100.0%), Failed: 0, Not Run: 0
      Overall execution time: 0.0908 seconds
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      161510cc
    • Marcel Holtmann's avatar
      Bluetooth: Add helper for serialized HCI command execution · 6a98e383
      Marcel Holtmann authored
      The usage of __hci_cmd_sync() within the hdev->setup() callback allows for
      a nice and simple serialized execution of HCI commands. More importantly
      it allows for result processing before issueing the next command.
      
      With the current usage of hci_req_run() it is possible to batch up
      commands and execute them, but it is impossible to react to their
      results or errors.
      
      This is an attempt to generalize the hdev->setup() handling and provide
      a simple way of running multiple HCI commands from a single function
      context.
      
      There are multiple struct work that are decdicated to certain tasks
      already used right now. It is add a lot of bloat to hci_dev struct and
      extra handling code. So it might be possible to put all of these behind
      a common HCI command infrastructure and just execute the HCI commands
      from the same work context in a serialized fashion.
      
      For example updating the white list and resolving list can be done now
      without having to know the list size ahead of time. Also preparing for
      suspend or resume shouldn't require a state machine anymore. There are
      other tasks that should be simplified as well.
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      6a98e383
  2. 28 Oct, 2021 1 commit
  3. 25 Oct, 2021 13 commits
  4. 22 Oct, 2021 1 commit
  5. 20 Oct, 2021 2 commits