Ubuntu-focal-kernel/net/bluetooth
Mattijs Korpershoek 4812834c6f Bluetooth: hci_core: fix init for HCI_USER_CHANNEL
BugLink: https://bugs.launchpad.net/bugs/1858428

[ Upstream commit eb8c101e28 ]

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: 23500189d7 ("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: Seth Forshee <seth.forshee@canonical.com>
2020-01-06 08:16:00 -06:00
..
bnep
cmtp
hidp
rfcomm
6lowpan.c
Kconfig
Makefile
a2mp.c
a2mp.h
af_bluetooth.c
amp.c
amp.h
ecdh_helper.c
ecdh_helper.h
hci_conn.c
hci_core.c Bluetooth: hci_core: fix init for HCI_USER_CHANNEL 2020-01-06 08:16:00 -06:00
hci_debugfs.c
hci_debugfs.h
hci_event.c
hci_request.c
hci_request.h
hci_sock.c
hci_sysfs.c
l2cap_core.c
l2cap_sock.c
leds.c
leds.h
lib.c
mgmt.c
mgmt_util.c
mgmt_util.h
sco.c
selftest.c
selftest.h
smp.c
smp.h