bluetooth: set initial packet size to 60

Raise initial MTU size to fix frame size when hci can do 60 byte frames.

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/507>
This commit is contained in:
Igor V. Kovalenko 2021-03-02 00:52:59 +03:00 committed by PulseAudio Marge Bot
parent 9de895fe23
commit c7c9ca22ab
2 changed files with 8 additions and 5 deletions

View file

@ -326,8 +326,8 @@ static int sco_acquire_cb(pa_bluetooth_transport *t, bool optional, size_t *imtu
if (sock < 0) if (sock < 0)
goto fail; goto fail;
if (imtu) *imtu = 48; if (imtu) *imtu = 60;
if (omtu) *omtu = 48; if (omtu) *omtu = 60;
if (t->device->autodetect_mtu) { if (t->device->autodetect_mtu) {
struct sco_options sco_opt; struct sco_options sco_opt;

View file

@ -329,11 +329,14 @@ static int hf_audio_agent_transport_acquire(pa_bluetooth_transport *t, bool opti
* the Bluetooth adapter and (for adapters in the USB bus) the MxPS * the Bluetooth adapter and (for adapters in the USB bus) the MxPS
* value from the Isoc USB endpoint in use by btusb and should be * value from the Isoc USB endpoint in use by btusb and should be
* made available to userspace by the Bluetooth kernel subsystem. * made available to userspace by the Bluetooth kernel subsystem.
* Meanwhile the empiric value 48 will be used. */ *
* Set initial MTU to max size which is reported to be working (60 bytes)
* See also pa_bluetooth_transport::last_read_size handling.
*/
if (imtu) if (imtu)
*imtu = 48; *imtu = 60;
if (omtu) if (omtu)
*omtu = 48; *omtu = 60;
err = socket_accept(card->fd); err = socket_accept(card->fd);
if (err < 0) { if (err < 0) {