linux/net/bluetooth
Frédéric Danis 3bf09c685e Bluetooth: SCO: Add support for 16 bits transparent voice setting
[ Upstream commit 29a651451e ]

The voice setting is used by sco_connect() or sco_conn_defer_accept()
after being set by sco_sock_setsockopt().

The PCM part of the voice setting is used for offload mode through PCM
chipset port.
This commits add support for mSBC 16 bits offloading, i.e. audio data
not transported over HCI.

The BCM4349B1 supports 16 bits transparent data on its I2S port.
If BT_VOICE_TRANSPARENT is used when accepting a SCO connection, this
gives only garbage audio while using BT_VOICE_TRANSPARENT_16BIT gives
correct audio.
This has been tested with connection to iPhone 14 and Samsung S24.

Fixes: ad10b1a487 ("Bluetooth: Add Bluetooth socket voice option")
Signed-off-by: Frédéric Danis <frederic.danis@collabora.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-12-19 18:11:34 +01:00
..
bnep Bluetooth: bnep: fix wild-memory-access in proto_unregister 2024-11-01 01:58:24 +01:00
cmtp Merge branch 'signal-for-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2022-01-17 05:49:30 +02:00
hidp Bluetooth: Init sk_peer_* on bt_sock_alloc 2023-08-11 11:37:22 -07:00
rfcomm Bluetooth: RFCOMM: avoid leaving dangling sk pointer in rfcomm_sock_alloc() 2024-12-14 20:00:04 +01:00
6lowpan.c ipv6: introduce dst_rt6_info() helper 2024-12-14 19:59:35 +01:00
af_bluetooth.c Bluetooth: SCO: Fix UAF on sco_sock_timeout 2024-11-01 01:58:30 +01:00
aosp.c Bluetooth: Fix null pointer deref on unexpected status event 2022-08-08 17:04:37 -07:00
aosp.h Bluetooth: aosp: Support AOSP Bluetooth Quality Report 2021-11-02 19:37:52 +01:00
coredump.c Bluetooth: Remove unnecessary NULL check before vfree() 2023-08-11 11:56:54 -07:00
ecdh_helper.c Bluetooth: Use crypto_wait_req 2023-02-13 18:34:48 +08:00
ecdh_helper.h Fix misc new gcc warnings 2021-04-27 17:05:53 -07:00
eir.c Bluetooth: Fix eir name length 2024-03-26 18:19:39 -04:00
eir.h Bluetooth: Add initial implementation of BIS connections 2022-07-22 17:13:56 -07:00
hci_codec.c Bluetooth: Fix support for Read Local Supported Codecs V2 2022-12-02 13:09:31 -08:00
hci_codec.h Bluetooth: Add support for Read Local Supported Codecs V2 2021-09-07 14:09:18 -07:00
hci_conn.c Bluetooth: ISO: Reassociate a socket with an active BIS 2024-12-19 18:11:33 +01:00
hci_core.c Bluetooth: hci_core: Fix not checking skb length on hci_acldata_packet 2024-12-14 20:00:08 +01:00
hci_debugfs.c Bluetooth: Fix TOCTOU in HCI debugfs implementation 2024-04-10 16:35:49 +02:00
hci_debugfs.h Bluetooth: hci_core: Move all debugfs handling to hci_debugfs.c 2021-09-22 16:17:13 +02:00
hci_event.c Bluetooth: hci_event: Fix using rcu_read_(un)lock while iterating 2024-12-19 18:11:33 +01:00
hci_request.c Bluetooth: Fix memory leak in hci_req_sync_complete() 2024-04-17 11:19:25 +02:00
hci_request.h Bluetooth: Delete unused hci_req_prepare_suspend() declaration 2023-09-20 10:55:29 -07:00
hci_sock.c Bluetooth: hci_sock: Fix not validating setsockopt user input 2024-10-10 11:57:19 +02:00
hci_sync.c Bluetooth: Support new quirks for ATS2851 2024-12-14 20:00:09 +01:00
hci_sysfs.c Bluetooth: fix use-after-free in device_for_each_child() 2024-12-09 10:32:11 +01:00
iso.c Bluetooth: iso: Fix recursive locking warning 2024-12-19 18:11:33 +01:00
Kconfig Bluetooth: Remove BT_HS 2024-03-26 18:19:37 -04:00
l2cap_core.c Bluetooth: L2CAP: Fix uaf in l2cap_connect 2024-10-10 11:57:16 +02:00
l2cap_sock.c Bluetooth: L2CAP: do not leave dangling sk pointer on error in l2cap_sock_create() 2024-12-14 20:00:04 +01:00
leds.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
leds.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
lib.c Bluetooth: Fix EALREADY and ELOOP cases in bt_status() 2022-12-12 14:19:24 -08:00
Makefile Bluetooth: Remove BT_HS 2024-03-26 18:19:37 -04:00
mgmt.c Bluetooth: MGMT: Fix possible deadlocks 2024-12-09 10:32:35 +01:00
mgmt_config.c Bluetooth: mgmt: Use the correct print format 2021-06-26 07:12:42 +02:00
mgmt_config.h Bluetooth: mgmt: Add commands for runtime configuration 2020-06-18 13:11:03 +03:00
mgmt_util.c Bluetooth: Implement support for Mesh 2022-09-06 13:18:24 -07:00
mgmt_util.h Bluetooth: Fix a buffer overflow in mgmt_mesh_add() 2023-01-17 15:50:10 -08:00
msft.c Bluetooth: msft: fix slab-use-after-free in msft_do_close() 2024-05-17 12:02:21 +02:00
msft.h Bluetooth: msft: fix slab-use-after-free in msft_do_close() 2024-05-17 12:02:21 +02:00
sco.c Bluetooth: SCO: Add support for 16 bits transparent voice setting 2024-12-19 18:11:34 +01:00
selftest.c crypto: ecdh - move curve_id of ECDH from the key to algorithm name 2021-03-13 00:04:03 +11:00
selftest.h Bluetooth: Add support for self testing framework 2014-12-30 08:53:55 +02:00
smp.c Revert "Bluetooth: MGMT/SMP: Fix address type when using SMP over BREDR/LE" 2024-09-12 11:11:26 +02:00
smp.h Bluetooth: use inclusive language in SMP 2021-06-26 07:12:37 +02:00