From: Chethan T N <chethan.tumkur.narayan@xxxxxxxxx> Observed race condition during controller recovery mechanism resulting the controller not responding to the reset command. To avoid such race condition need a delay of 2ms soon after the USB re-enumeration and before sending the Reset command which shall allow controller to completely recover and process the Reset command. Change-Id: Ifbc387d4377bc79081244d444d45ba6effc95f23 Signed-off-by: Chethan T N <chethan.tumkur.narayan@xxxxxxxxx> --- drivers/bluetooth/btusb.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index f73a27ea28cc..844b4145ff76 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c @@ -1741,6 +1741,15 @@ static int btusb_setup_intel(struct hci_dev *hdev) int disable_patch, err; struct intel_version ver; + /* Observed race condition during controller recovery mechanism + * resulting the controller not responding to the reset command. + * + * To avoid such race condition need a delay of 2ms soon after the + * USB re-enumeration and before sending the Reset command which shall + * allow controller to completely recover and process the Reset command. + */ + mdelay(2); + BT_DBG("%s", hdev->name); /* The controller has a bug with the first HCI command sent to it -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html