diff options
author | Arseniy Krasnov <avkrasnov@salutedevices.com> | 2025-01-30 21:43:26 +0300 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2025-03-25 12:31:59 -0400 |
commit | 366ceff495f902182d42b6f41525c2474caf3f9a (patch) | |
tree | 1cf7585925f047c4a8924244df00ad3a81060bc6 /tools/perf/scripts/python/export-to-sqlite.py | |
parent | bb3569ac360426c826878630802d96a87fb70a09 (diff) |
Bluetooth: hci_uart: fix race during initialization
'hci_register_dev()' calls power up function, which is executed by
kworker - 'hci_power_on()'. This function does access to bluetooth chip
using callbacks from 'hci_ldisc.c', for example 'hci_uart_send_frame()'.
Now 'hci_uart_send_frame()' checks 'HCI_UART_PROTO_READY' bit set, and
if not - it fails. Problem is that 'HCI_UART_PROTO_READY' is set after
'hci_register_dev()', and there is tiny chance that 'hci_power_on()' will
be executed before setting this bit. In that case HCI init logic fails.
Patch moves setting of 'HCI_UART_PROTO_READY' before calling function
'hci_uart_register_dev()'.
Signed-off-by: Arseniy Krasnov <avkrasnov@salutedevices.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Diffstat (limited to 'tools/perf/scripts/python/export-to-sqlite.py')
0 files changed, 0 insertions, 0 deletions