[bluez/bluez] dbe522: vhci: Add function to pause processing input from ...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



  Branch: refs/heads/master
  Home:   https://github.com/bluez/bluez
  Commit: dbe52200549bdc61fcd94c8c41d56c58d258ad7c
      https://github.com/bluez/bluez/commit/dbe52200549bdc61fcd94c8c41d56c58d258ad7c
  Author: Pauli Virtanen <pav@xxxxxx>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M emulator/vhci.c
    M emulator/vhci.h

  Log Message:
  -----------
  vhci: Add function to pause processing input from vhci

Add function to pause (temporarily) reading data from vhci.  This can be
used to synchronously pause handling of btdev commands from the kernel.


  Commit: bfcc3f7bf48fa3c1fdbd3ae9bf6ae671575a4f1c
      https://github.com/bluez/bluez/commit/bfcc3f7bf48fa3c1fdbd3ae9bf6ae671575a4f1c
  Author: Pauli Virtanen <pav@xxxxxx>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M emulator/hciemu.c
    M emulator/hciemu.h

  Log Message:
  -----------
  hciemu: Add hciemu_flush_client_events for ordering VHCI vs bthost

bthost commands execute with a delay because events may be sitting in
the socketpair queues.  This makes it difficult to ensure, when writing
tests, that certain bthost commands have been handled, before any new
events from VHCI are processed.

To make event ordering possible, add a function that flushes client
bthost/btdev socketpair queues, before processing any new VHCI events.
This is done by pausing VHCI input processing until the kernel
socketpair queues are empty.


  Commit: 465108814db2b7ba3037a83cb91f7de1cc2f7366
      https://github.com/bluez/bluez/commit/465108814db2b7ba3037a83cb91f7de1cc2f7366
  Author: Pauli Virtanen <pav@xxxxxx>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M tools/sco-tester.c

  Log Message:
  -----------
  sco-tester: add test for ACL disconnect before SCO established

Simulate ACL being disconnected before SCO is established.  Kernel shall
not crash.

eSCO ACL Disconnect - Failure

Link: https://lore.kernel.org/linux-bluetooth/00000000000013b93805fbbadc50@xxxxxxxxxx/


  Commit: 70b4db6803b46d5f9ad08a3f72eef9186b25e50a
      https://github.com/bluez/bluez/commit/70b4db6803b46d5f9ad08a3f72eef9186b25e50a
  Author: Pauli Virtanen <pav@xxxxxx>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M tools/iso-tester.c

  Log Message:
  -----------
  iso-tester: add test for ACL disconnect before ISO created

Simulate ACL being disconnected when connecting ISO, before LE Create
CIS got sent.  The kernel shall indicate connection failure for the ISO
socket immediately when the ACL is gone, since connecting the ISO can no
longer proceed.

ISO Connect ACL Disconnect - Failure


  Commit: e93094977f08442d13d120a6154f8236dcc491dc
      https://github.com/bluez/bluez/commit/e93094977f08442d13d120a6154f8236dcc491dc
  Author: Pauli Virtanen <pav@xxxxxx>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M src/adapter.c

  Log Message:
  -----------
  adapter: wait for kernel exp features in adapter initialization

Things like BAP depend on ISO sockets being enabled in kernel.  It is
possible the MGMT commands enabling experimental kernel features do not
complete, before BAP etc. initialization and probing starts, in which
case BAP will be mostly nonfunctional.

This was observed to occur always when running BlueZ in a Fedora VM,
requiring bluetoothd restart after every boot for BAP to work,
log containing lines in the order:

bluetoothd[981]: src/adapter.c:read_exp_features_complete() 6fbaf188-05e0-496a-9885-d6ddfdb4e03e flags 0 action 1
bluetoothd[981]: src/adapter.c:read_info_complete() index 0 status 0x00
bluetoothd[981]: profiles/audio/bap.c:bap_probe() BAP requires ISO Socket which is not enabled
bluetoothd[981]: src/adapter.c:iso_socket_complete() ISO Socket successfully set

Fix by waiting in adapter initialization that all MGMT exp feature
requests are done, before proceeding to read adapter information.

Also fix canceling MGMT_OP_SET_EXP_FEATURE for ISO sockets.


Compare: https://github.com/bluez/bluez/compare/0004eb06d5d9...e93094977f08



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux