OSDN Git Service

Bluetooth: Return false when not shut down
authorMyles Watson <mylesgw@google.com>
Thu, 24 Aug 2017 16:13:02 +0000 (09:13 -0700)
committerMyles Watson <mylesgw@google.com>
Fri, 25 Aug 2017 15:02:32 +0000 (15:02 +0000)
Do not crash in the vendor layer.  The stack will crash
when it fails to initialize.

Bug: 64535243
Test: Bluetooth starts/stops
Change-Id: I69fdd2879c80fa2f006c50f0a42a85e9289b14fe

bluetooth/1.0/default/vendor_interface.cc

index 15b6c74..6ce2f11 100644 (file)
@@ -162,8 +162,10 @@ bool VendorInterface::Initialize(
     InitializeCompleteCallback initialize_complete_cb,
     PacketReadCallback event_cb, PacketReadCallback acl_cb,
     PacketReadCallback sco_cb) {
-  LOG_ALWAYS_FATAL_IF(g_vendor_interface, "%s: No previous Shutdown()?",
-                      __func__);
+  if (g_vendor_interface) {
+    ALOGE("%s: No previous Shutdown()?", __func__);
+    return false;
+  }
   g_vendor_interface = new VendorInterface();
   return g_vendor_interface->Open(initialize_complete_cb, event_cb, acl_cb,
                                   sco_cb);