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 ff41627..ad8cfec 100644 --- a/android/bluetooth.c +++ b/android/bluetooth.c @@ -2907,6 +2907,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; -- 1.8.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