Fix deadlock if the last reference of ICameraClient is removed in
ICamera::connect()

Change-Id: I34ab3e4f07435c62168175e9bb159022c8fb99f4
diff --git a/libs/camera/Camera.cpp b/libs/camera/Camera.cpp
index 3346b1f..2fbddd5 100644
--- a/libs/camera/Camera.cpp
+++ b/libs/camera/Camera.cpp
@@ -92,7 +92,12 @@
 
 Camera::~Camera()
 {
-    disconnect();
+    // We don't need to call disconnect() here because if the CameraService
+    // thinks we are the owner of the hardware, it will hold a (strong)
+    // reference to us, and we can't possibly be here. We also don't want to
+    // call disconnect() here if we are in the same process as mediaserver,
+    // because we may be invoked by CameraService::Client::connect() and will
+    // deadlock if we call any method of ICamera here.
 }
 
 int32_t Camera::getNumberOfCameras()