Since commit 4c67bc74f016b0d360b8573e18969c0ff7926974, the kernel supports trying to connect again in case the bluetooth card is busy and fails to connect. The logic that should handle this became a bit spotty over time, and also cards these days appear to fail with more errors than just "Command Disallowed". This series tries to improve the logic for retrying "HCI Create Connection" and adds support for two more errors that can indicate the hardware being busy. Jonas Dreßler (5): Bluetooth: Remove superfluous call to hci_conn_check_pending() Bluetooth: hci_event: Use HCI error defines instead of magic values Bluetooth: hci_event: Remove limit of 2 reconnection attempts Bluetooth: hci_event: Do sanity checks before retrying to connect Bluetooth: hci_event: Try reconnecting on more kinds of errors include/net/bluetooth/hci.h | 3 ++ net/bluetooth/hci_event.c | 57 +++++++++++++++++++++++++++++++------ 2 files changed, 51 insertions(+), 9 deletions(-) -- 2.43.0