We should be sending BT_STATUS_DONE when calling init on already initialized interface like Bluedroid does. This indicates that previosly registered callbacks are still registered, not those passed with second init call. --- android/hal-bluetooth.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/hal-bluetooth.c b/android/hal-bluetooth.c index 87d6fc7..7cac15c 100644 --- a/android/hal-bluetooth.c +++ b/android/hal-bluetooth.c @@ -373,7 +373,7 @@ static int init(bt_callbacks_t *callbacks) DBG(""); if (interface_ready()) - return BT_STATUS_SUCCESS; + return BT_STATUS_DONE; bt_hal_cbacks = callbacks; -- 1.8.5 -- 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