emulator: Add support enhanced SCO connection
PATCH 1/1 emulator: Add support enhanced SCO connection
Add support for enhanced_setup_synchronous_connection command in btdev
--- emulator/btdev.c | 58 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-)
emulator/btdev.c +57 -1
@@ -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 Connection */ btdev->commands[30 ] |=0x08 ;/* Get MWS Transport Layer Config */ btdev->cmds = cmd_bredr; }
Signature · 1 line
2.17.1
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=531911
---Test result---
Test Summary:
CheckPatch FAIL 0.47 seconds GitLint PASS 0.14 seconds Prep - Setup ELL PASS 55.09 seconds Build - Prep PASS 0.15 seconds Build - Configure PASS 9.60 seconds Build - Make PASS 246.45 seconds Make Check PASS 9.43 seconds Make Distcheck PASS 288.04 seconds Build w/ext ELL - Configure PASS 9.75 seconds Build w/ext ELL - Make PASS 226.70 seconds
Details
##############################
Test: CheckPatch - FAIL
Desc: Run checkpatch.pl script with rule in .checkpatch.conf Output:
emulator: Add support enhanced SCO connection WARNING:LONG_LINE_COMMENT: line length of 83 exceeds 80 columns #90: FILE: emulator/btdev.c:2977:
+ btdev->commands[29] |= 0x08; /* Enhanced Setup Synchronous Connection */
- total: 0 errors, 1 warnings, 76 lines checked
NOTE: For some of the reported defects, checkpatch may be able to
mechanically convert to the typical style using --fix or --fix-inplace.
"[PATCH] emulator: Add support enhanced SCO connection" has style problems, please review.
NOTE: Ignored message types: COMMIT_MESSAGE COMPLEX_MACRO CONST_STRUCT FILE_PATH_CHANGES MISSING_SIGN_OFF PREFER_PACKED SPDX_LICENSE_TAG SPLIT_STRING SSCANF_TO_KSTRTO
NOTE: If any of the errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.
##############################
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