Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit a9ee77af authored by Sebastian Andrzej Siewior's avatar Sebastian Andrzej Siewior Committed by Marcel Holtmann
Browse files

Bluetooth: avoid recursive locking in hci_send_to_channel()



Mart reported a deadlock in -RT in the call path:
  hci_send_monitor_ctrl_event() -> hci_send_to_channel()

because both functions acquire the same read lock hci_sk_list.lock. This
is also a mainline issue because the qrwlock implementation is writer
fair (the traditional rwlock implementation is reader biased).

To avoid the deadlock there is now __hci_send_to_channel() which expects
the readlock to be held.

Fixes: 38ceaa00 ("Bluetooth: Add support for sending MGMT commands and events to monitor")
Reported-by: default avatarMart van de Wege <mvdwege@gmail.com>
Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent 1f01d8be
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment