]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commit
Bluetooth: hci_core: fix init for HCI_USER_CHANNEL
authorMattijs Korpershoek <mkorpershoek@baylibre.com>
Thu, 17 Oct 2019 03:20:39 +0000 (20:20 -0700)
committerKhalid Elmously <khalid.elmously@canonical.com>
Wed, 29 Jan 2020 04:58:30 +0000 (23:58 -0500)
commit2bab69b36519a1e5e3d8357eb35e8d5a2a5a6794
treee523d89c4e1cfbe554cbe0f52a0c18771b85aa13
parent3c57cf11923054afdd61aae4a863f69438b6fa02
Bluetooth: hci_core: fix init for HCI_USER_CHANNEL

BugLink: https://bugs.launchpad.net/bugs/1860490
[ Upstream commit eb8c101e28496888a0dcfe16ab86a1bee369e820 ]

During the setup() stage, HCI device drivers expect the chip to
acknowledge its setup() completion via vendor specific frames.

If userspace opens() such HCI device in HCI_USER_CHANNEL [1] mode,
the vendor specific frames are never tranmitted to the driver, as
they are filtered in hci_rx_work().

Allow HCI devices which operate in HCI_USER_CHANNEL mode to receive
frames if the HCI device is is HCI_INIT state.

[1] https://www.spinics.net/lists/linux-bluetooth/msg37345.html

Fixes: 23500189d7e0 ("Bluetooth: Introduce new HCI socket channel for user operation")
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
net/bluetooth/hci_core.c