Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bluetooth:btintel: Print firmware SHA1 #11

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Commits on Oct 24, 2023

  1. Bluetooth: Fix not notifying when connection encryption changes

    Some layers such as SMP depend on getting notified about encryption
    changes immediately as they only allow certain PDU to be transmitted
    over an encrypted link which may cause SMP implementation to reject
    valid PDUs received thus causing pairing to fail when it shouldn't.
    
    Fixes: 7aca0ac ("Bluetooth: Wait for HCI_OP_WRITE_AUTH_PAYLOAD_TO to complete")
    Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
    Vudentz committed Oct 24, 2023
    Configuration menu
    Copy the full SHA
    3fa702b View commit details
    Browse the repository at this point in the history
  2. Bluetooth: ISO: Allow binding a PA sync socket

    This makes it possible to bind a PA sync socket to a number of BISes
    before issuing the BIG Create Sync command.
    
    Signed-off-by: Iulia Tanasescu <iulia.tanasescu@nxp.com>
    Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
    iulia-tanasescu authored and Vudentz committed Oct 24, 2023
    Configuration menu
    Copy the full SHA
    0783375 View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2023

  1. Bluetooth: ISO: Reassociate a socket with an active BIS

    For ISO Broadcast, all BISes from a BIG have the same lifespan - they
    cannot be created or terminated independently from each other.
    
    This links together all BIS hcons that are part of the same BIG, so all
    hcons are kept alive as long as the BIG is active.
    
    If multiple BIS sockets are opened for a BIG handle, and only part of
    them are closed at some point, the associated hcons will be marked as
    open. If new sockets will later be opened for the same BIG, they will
    be reassociated with the open BIS hcons.
    
    All BIS hcons will be cleaned up and the BIG will be terminated when
    the last BIS socket is closed from userspace.
    
    Signed-off-by: Iulia Tanasescu <iulia.tanasescu@nxp.com>
    Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
    iulia-tanasescu authored and Vudentz committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    498de6c View commit details
    Browse the repository at this point in the history
  2. Bluetooth: Fix deadlock in vhci_send_frame

    syzbot found a potential circular dependency leading to a deadlock:
        -> bluez#3 (&hdev->req_lock){+.+.}-{3:3}:
        __mutex_lock_common+0x1b6/0x1bc2 kernel/locking/mutex.c:599
        __mutex_lock kernel/locking/mutex.c:732 [inline]
        mutex_lock_nested+0x17/0x1c kernel/locking/mutex.c:784
        hci_dev_do_close+0x3f/0x9f net/bluetooth/hci_core.c:551
        hci_rfkill_set_block+0x130/0x1ac net/bluetooth/hci_core.c:935
        rfkill_set_block+0x1e6/0x3b8 net/rfkill/core.c:345
        rfkill_fop_write+0x2d8/0x672 net/rfkill/core.c:1274
        vfs_write+0x277/0xcf5 fs/read_write.c:594
        ksys_write+0x19b/0x2bd fs/read_write.c:650
        do_syscall_x64 arch/x86/entry/common.c:55 [inline]
        do_syscall_64+0x51/0xba arch/x86/entry/common.c:93
        entry_SYSCALL_64_after_hwframe+0x61/0xcb
    
        -> bluez#2 (rfkill_global_mutex){+.+.}-{3:3}:
        __mutex_lock_common+0x1b6/0x1bc2 kernel/locking/mutex.c:599
        __mutex_lock kernel/locking/mutex.c:732 [inline]
        mutex_lock_nested+0x17/0x1c kernel/locking/mutex.c:784
        rfkill_register+0x30/0x7e3 net/rfkill/core.c:1045
        hci_register_dev+0x48f/0x96d net/bluetooth/hci_core.c:2622
        __vhci_create_device drivers/bluetooth/hci_vhci.c:341 [inline]
        vhci_create_device+0x3ad/0x68f drivers/bluetooth/hci_vhci.c:374
        vhci_get_user drivers/bluetooth/hci_vhci.c:431 [inline]
        vhci_write+0x37b/0x429 drivers/bluetooth/hci_vhci.c:511
        call_write_iter include/linux/fs.h:2109 [inline]
        new_sync_write fs/read_write.c:509 [inline]
        vfs_write+0xaa8/0xcf5 fs/read_write.c:596
        ksys_write+0x19b/0x2bd fs/read_write.c:650
        do_syscall_x64 arch/x86/entry/common.c:55 [inline]
        do_syscall_64+0x51/0xba arch/x86/entry/common.c:93
        entry_SYSCALL_64_after_hwframe+0x61/0xcb
    
        -> #1 (&data->open_mutex){+.+.}-{3:3}:
        __mutex_lock_common+0x1b6/0x1bc2 kernel/locking/mutex.c:599
        __mutex_lock kernel/locking/mutex.c:732 [inline]
        mutex_lock_nested+0x17/0x1c kernel/locking/mutex.c:784
        vhci_send_frame+0x68/0x9c drivers/bluetooth/hci_vhci.c:75
        hci_send_frame+0x1cc/0x2ff net/bluetooth/hci_core.c:2989
        hci_sched_acl_pkt net/bluetooth/hci_core.c:3498 [inline]
        hci_sched_acl net/bluetooth/hci_core.c:3583 [inline]
        hci_tx_work+0xb94/0x1a60 net/bluetooth/hci_core.c:3654
        process_one_work+0x901/0xfb8 kernel/workqueue.c:2310
        worker_thread+0xa67/0x1003 kernel/workqueue.c:2457
        kthread+0x36a/0x430 kernel/kthread.c:319
        ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298
    
        -> #0 ((work_completion)(&hdev->tx_work)){+.+.}-{0:0}:
        check_prev_add kernel/locking/lockdep.c:3053 [inline]
        check_prevs_add kernel/locking/lockdep.c:3172 [inline]
        validate_chain kernel/locking/lockdep.c:3787 [inline]
        __lock_acquire+0x2d32/0x77fa kernel/locking/lockdep.c:5011
        lock_acquire+0x273/0x4d5 kernel/locking/lockdep.c:5622
        __flush_work+0xee/0x19f kernel/workqueue.c:3090
        hci_dev_close_sync+0x32f/0x1113 net/bluetooth/hci_sync.c:4352
        hci_dev_do_close+0x47/0x9f net/bluetooth/hci_core.c:553
        hci_rfkill_set_block+0x130/0x1ac net/bluetooth/hci_core.c:935
        rfkill_set_block+0x1e6/0x3b8 net/rfkill/core.c:345
        rfkill_fop_write+0x2d8/0x672 net/rfkill/core.c:1274
        vfs_write+0x277/0xcf5 fs/read_write.c:594
        ksys_write+0x19b/0x2bd fs/read_write.c:650
        do_syscall_x64 arch/x86/entry/common.c:55 [inline]
        do_syscall_64+0x51/0xba arch/x86/entry/common.c:93
        entry_SYSCALL_64_after_hwframe+0x61/0xcb
    
    This change removes the need for acquiring the open_mutex in
    vhci_send_frame, thus eliminating the potential deadlock while
    maintaining the required packet ordering.
    
    Fixes: 92d4abd ("Bluetooth: vhci: Fix race when opening vhci device")
    Signed-off-by: Ying Hsu <yinghsu@chromium.org>
    Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
    Ying Hsu authored and Vudentz committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    0be46f8 View commit details
    Browse the repository at this point in the history
  3. Bluetooth: qca: Set both WIDEBAND_SPEECH and LE_STATES quirks for QCA…

    …2066
    
    Set both WIDEBAND_SPEECH_SUPPORTED and VALID_LE_STATES quirks
    for QCA2066.
    
    Signed-off-by: Zijun Hu <quic_zijuhu@quicinc.com>
    Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
    zijun-hu authored and Vudentz committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    d574237 View commit details
    Browse the repository at this point in the history

Commits on Nov 20, 2023

  1. Bluetooth: hci_event: Fix not checking if HCI_OP_INQUIRY has been sent

    Before setting HCI_INQUIRY bit check if HCI_OP_INQUIRY was really sent
    otherwise the controller maybe be generating invalid events or, more
    likely, it is a result of fuzzing tools attempting to test the right
    behavior of the stack when unexpected events are generated.
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=218151
    Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
    Vudentz committed Nov 20, 2023
    Configuration menu
    Copy the full SHA
    24ce9ab View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2023

  1. Bluetooth: btusb: Don't suspend when there are connections

    This checks if there are connections before suspending since that may
    disrupt the connections making it stop receiving any data if remote
    wakeup is not enabled.
    
    Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
    Vudentz committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    d4a9d62 View commit details
    Browse the repository at this point in the history

Commits on Nov 22, 2023

  1. Bluetooth: Add documentation to exported functions in lib

    Most functions in `net/bluetooth/lib.c` lack propper
    documentation.
    
    This patch adds documentation to all exported functions
    in `net/bluetooth/lib.c`.
    Unnecessary or redundant comments are also removed to
    ensure the file looks clean.
    
    Signed-off-by: Yuran Pereira <yuran.pereira@hotmail.com>
    Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
    yuranpereira authored and Vudentz committed Nov 22, 2023
    Configuration menu
    Copy the full SHA
    1b70ac8 View commit details
    Browse the repository at this point in the history

Commits on Nov 23, 2023

  1. Bluetooth:btintel: Print firmware SHA1

    Intel Read Version event contains a TLV(0x32) having firmware sha1 in
    operational image.
    
    Signed-off-by: Kiran K <kiran.k@intel.com>
    kirankrishnappa-intel committed Nov 23, 2023
    Configuration menu
    Copy the full SHA
    6ecb4c8 View commit details
    Browse the repository at this point in the history