Message ID | 20210817084941.22484-1-kiran.k@intel.com (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Luiz Von Dentz |
Headers | show |
Series | [v2] emulator: Add support enhanced SCO connection | expand |
This is automated email and please do not reply to this email! Dear submitter, Thank you for submitting the patches to the linux bluetooth mailing list. This is a CI test results with your patch series: PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=532611 ---Test result--- Test Summary: CheckPatch PASS 0.37 seconds GitLint PASS 0.13 seconds Prep - Setup ELL PASS 47.65 seconds Build - Prep PASS 0.12 seconds Build - Configure PASS 8.57 seconds Build - Make PASS 209.92 seconds Make Check PASS 9.81 seconds Make Distcheck PASS 246.03 seconds Build w/ext ELL - Configure PASS 8.03 seconds Build w/ext ELL - Make PASS 192.27 seconds Details ############################## Test: CheckPatch - PASS Desc: Run checkpatch.pl script with rule in .checkpatch.conf ############################## Test: GitLint - PASS Desc: Run gitlint with rule in .gitlint ############################## Test: Prep - Setup ELL - PASS Desc: Clone, build, and install ELL ############################## Test: Build - Prep - PASS Desc: Prepare environment for build ############################## Test: Build - Configure - PASS Desc: Configure the BlueZ source tree ############################## Test: Build - Make - PASS Desc: Build the BlueZ source tree ############################## Test: Make Check - PASS Desc: Run 'make check' ############################## Test: Make Distcheck - PASS Desc: Run distcheck to check the distribution ############################## Test: Build w/ext ELL - Configure - PASS Desc: Configure BlueZ source with '--enable-external-ell' configuration ############################## Test: Build w/ext ELL - Make - PASS Desc: Build BlueZ source with '--enable-external-ell' configuration --- Regards, Linux Bluetooth
Hi Kiran, On Tue, Aug 17, 2021 at 2:40 AM <bluez.test.bot@gmail.com> wrote: > > This is automated email and please do not reply to this email! > > Dear submitter, > > Thank you for submitting the patches to the linux bluetooth mailing list. > This is a CI test results with your patch series: > PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=532611 > > ---Test result--- > > Test Summary: > CheckPatch PASS 0.37 seconds > GitLint PASS 0.13 seconds > Prep - Setup ELL PASS 47.65 seconds > Build - Prep PASS 0.12 seconds > Build - Configure PASS 8.57 seconds > Build - Make PASS 209.92 seconds > Make Check PASS 9.81 seconds > Make Distcheck PASS 246.03 seconds > Build w/ext ELL - Configure PASS 8.03 seconds > Build w/ext ELL - Make PASS 192.27 seconds > > Details > ############################## > Test: CheckPatch - PASS > Desc: Run checkpatch.pl script with rule in .checkpatch.conf > > ############################## > Test: GitLint - PASS > Desc: Run gitlint with rule in .gitlint > > ############################## > Test: Prep - Setup ELL - PASS > Desc: Clone, build, and install ELL > > ############################## > Test: Build - Prep - PASS > Desc: Prepare environment for build > > ############################## > Test: Build - Configure - PASS > Desc: Configure the BlueZ source tree > > ############################## > Test: Build - Make - PASS > Desc: Build the BlueZ source tree > > ############################## > Test: Make Check - PASS > Desc: Run 'make check' > > ############################## > Test: Make Distcheck - PASS > Desc: Run distcheck to check the distribution > > ############################## > Test: Build w/ext ELL - Configure - PASS > Desc: Configure BlueZ source with '--enable-external-ell' configuration > > ############################## > Test: Build w/ext ELL - Make - PASS > Desc: Build BlueZ source with '--enable-external-ell' configuration > > > > --- > Regards, > Linux Bluetooth Applied, thanks.
diff --git a/emulator/btdev.c b/emulator/btdev.c index f8daf4587cd9..86c9b475098e 100644 --- a/emulator/btdev.c +++ b/emulator/btdev.c @@ -2488,6 +2488,59 @@ static void set_common_commands_bredr20(struct btdev *btdev) btdev->commands[16] |= 0x04; /* Enable Device Under Test Mode */ } +static int cmd_enhanced_setup_sync_conn(struct btdev *dev, const void *data, + uint8_t len) +{ + const struct bt_hci_cmd_enhanced_setup_sync_conn *cmd = data; + uint8_t status = BT_HCI_ERR_SUCCESS; + + if (cmd->tx_coding_format[0] > 5) + status = BT_HCI_ERR_INVALID_PARAMETERS; + + cmd_status(dev, status, BT_HCI_EVT_SYNC_CONN_COMPLETE); + + return 0; +} + +static int cmd_enhanced_setup_sync_conn_complete(struct btdev *dev, + const void *data, uint8_t len) +{ + const struct bt_hci_cmd_enhanced_setup_sync_conn *cmd = data; + struct bt_hci_evt_sync_conn_complete cc; + struct btdev_conn *conn; + + memset(&cc, 0, sizeof(cc)); + + conn = queue_find(dev->conns, match_handle, + UINT_TO_PTR(le16_to_cpu(cmd->handle))); + if (!conn) { + cc.status = BT_HCI_ERR_UNKNOWN_CONN_ID; + goto done; + } + + conn = conn_add_sco(conn); + if (!conn) { + cc.status = BT_HCI_ERR_MEM_CAPACITY_EXCEEDED; + goto done; + } + + cc.status = BT_HCI_ERR_SUCCESS; + memcpy(cc.bdaddr, conn->link->dev->bdaddr, 6); + + cc.handle = cpu_to_le16(conn->handle); + cc.link_type = 0x02; + cc.tx_interval = 0x000c; + cc.retrans_window = 0x06; + cc.rx_pkt_len = 60; + cc.tx_pkt_len = 60; + cc.air_mode = cmd->tx_coding_format[0]; + +done: + send_event(dev, BT_HCI_EVT_SYNC_CONN_COMPLETE, &cc, sizeof(cc)); + + return 0; +} + static int cmd_setup_sync_conn(struct btdev *dev, const void *data, uint8_t len) { cmd_status(dev, BT_HCI_ERR_SUCCESS, BT_HCI_EVT_SYNC_CONN_COMPLETE); @@ -2886,7 +2939,9 @@ static int cmd_get_mws_transport_config(struct btdev *dev, const void *data, CMD(BT_HCI_CMD_READ_DATA_BLOCK_SIZE, cmd_read_data_block_size, NULL), \ CMD(BT_HCI_CMD_READ_LOCAL_CODECS, cmd_read_local_codecs, NULL), \ CMD(BT_HCI_CMD_GET_MWS_TRANSPORT_CONFIG, cmd_get_mws_transport_config, \ - NULL) + NULL), \ + CMD(BT_HCI_CMD_ENHANCED_SETUP_SYNC_CONN, cmd_enhanced_setup_sync_conn, \ + cmd_enhanced_setup_sync_conn_complete) static const struct btdev_cmd cmd_bredr[] = { CMD_COMMON_ALL, @@ -2919,6 +2974,7 @@ static void set_bredr_commands(struct btdev *btdev) btdev->commands[20] |= 0x10; /* Read Encryption Key Size */ btdev->commands[23] |= 0x04; /* Read Data Block Size */ btdev->commands[29] |= 0x20; /* Read Local Supported Codecs */ + btdev->commands[29] |= 0x08; /* Enhanced Setup Synchronous Conn */ btdev->commands[30] |= 0x08; /* Get MWS Transport Layer Config */ btdev->cmds = cmd_bredr; }