Skip to content
Snippets Groups Projects
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
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment