Bluetooth: btintel: Fix broken LED quirk for legacy ROM devices
authorTedd Ho-Jeong An <tedd.an@intel.com>
Fri, 7 Jan 2022 00:34:54 +0000 (16:34 -0800)
committerMarcel Holtmann <marcel@holtmann.org>
Fri, 7 Jan 2022 07:29:21 +0000 (08:29 +0100)
commit95655456e7cee858a23793f67025765b4c4c227b
tree392bacae6d29e6a2c47cc20453879ee18513e91e
parent72279d17df54d5e4e7910b39c61a3f3464e36633
Bluetooth: btintel: Fix broken LED quirk for legacy ROM devices

This patch fixes the broken LED quirk for Intel legacy ROM devices.
To fix the LED issue that doesn't turn off immediately, the host sends
the SW RFKILL command while shutting down the interface and it puts the
devices in SW RFKILL state.

Once the device is in SW RFKILL state, it can only accept HCI_Reset to
exit from the SW RFKILL state. This patch checks the quirk for broken
LED and sends the HCI_Reset before sending the HCI_Intel_Read_Version
command.

The affected legacy ROM devices are
 - 8087:07dc
 - 8087:0a2a
 - 8087:0aa7

Fixes: ffcba827c0a1d ("Bluetooth: btintel: Fix the LED is not turning off immediately")
Signed-off-by: Tedd Ho-Jeong An <tedd.an@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/btintel.c
drivers/bluetooth/btintel.h
drivers/bluetooth/btusb.c