From f4ff283b43e46ba6dbcd4cf2058438dc96b759e6 Mon Sep 17 00:00:00 2001 From: Lukasz Rymanowski Date: Thu, 13 Feb 2014 11:51:32 +0100 Subject: [PATCH] android: Fix for BT Turn off while pairing This patch fix an issue when Android disables BT during ongoing paring. In this case mgmt did not accept any commands and BT gets in some unknown state. Since Android turns off BT anyway, it is ok to just cancel all the mgmt requests before send power off command. --- android/bluetooth.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/android/bluetooth.c b/android/bluetooth.c index b818e8857..6ec87c407 100644 --- a/android/bluetooth.c +++ b/android/bluetooth.c @@ -2903,6 +2903,9 @@ static void handle_disable_cmd(const void *buf, uint16_t len) goto reply; } + /* Cancel all pending requests. Need it in case of ongoing paring */ + mgmt_cancel_index(mgmt_if, adapter.index); + if (!set_mode(MGMT_OP_SET_POWERED, 0x00)) { status = HAL_STATUS_FAILED; goto reply; -- 2.47.3