Camera: keep camera device alive during dump
Bug: 37868600
Change-Id: I143228b322ef4d0bce470bbd6c5fb562626b183b
diff --git a/services/camera/libcameraservice/common/Camera2ClientBase.cpp b/services/camera/libcameraservice/common/Camera2ClientBase.cpp
index 51ef160..4ce82dc 100644
--- a/services/camera/libcameraservice/common/Camera2ClientBase.cpp
+++ b/services/camera/libcameraservice/common/Camera2ClientBase.cpp
@@ -156,13 +156,14 @@
result = " Device dump:\n";
write(fd, result.string(), result.size());
- if (!mDevice.get()) {
+ sp<CameraDeviceBase> device = mDevice;
+ if (!device.get()) {
result = " *** Device is detached\n";
write(fd, result.string(), result.size());
return NO_ERROR;
}
- status_t res = mDevice->dump(fd, args);
+ status_t res = device->dump(fd, args);
if (res != OK) {
result = String8::format(" Error dumping device: %s (%d)",
strerror(-res), res);