@@ -148,6 +148,8 @@ struct btdev {
uint8_t feat_page_2[8];
uint16_t acl_mtu;
uint16_t acl_max_pkt;
+ uint16_t sco_mtu;
+ uint16_t sco_max_pkt;
uint16_t iso_mtu;
uint16_t iso_max_pkt;
uint8_t country_code;
@@ -653,9 +655,9 @@ static int cmd_read_buffer_size(struct btdev *dev, const void *data,
rsp.status = BT_HCI_ERR_SUCCESS;
rsp.acl_mtu = cpu_to_le16(dev->acl_mtu);
- rsp.sco_mtu = 0;
+ rsp.sco_mtu = cpu_to_le16(dev->sco_mtu);
rsp.acl_max_pkt = cpu_to_le16(dev->acl_max_pkt);
- rsp.sco_max_pkt = cpu_to_le16(0);
+ rsp.sco_max_pkt = cpu_to_le16(dev->sco_max_pkt);
cmd_complete(dev, BT_HCI_CMD_READ_BUFFER_SIZE, &rsp, sizeof(rsp));
@@ -2764,6 +2766,8 @@ static int cmd_enhanced_setup_sync_conn_complete(struct btdev *dev,
goto done;
}
+ /* TODO: HCI_Connection_Request connection flow */
+
cc.status = BT_HCI_ERR_SUCCESS;
memcpy(cc.bdaddr, conn->link->dev->bdaddr, 6);
@@ -7173,6 +7177,9 @@ struct btdev *btdev_create(enum btdev_type type, uint16_t id)
btdev->acl_mtu = 192;
btdev->acl_max_pkt = 1;
+ btdev->sco_mtu = 72;
+ btdev->sco_max_pkt = 1;
+
btdev->iso_mtu = 251;
btdev->iso_max_pkt = 1;
btdev->big_handle = 0xff;