Merge "hwc2: Donot dup ion fd."
diff --git a/sdm/libs/hwc2/hwc_layers.cpp b/sdm/libs/hwc2/hwc_layers.cpp
index 4e6dba2..a717305 100644
--- a/sdm/libs/hwc2/hwc_layers.cpp
+++ b/sdm/libs/hwc2/hwc_layers.cpp
@@ -84,7 +84,6 @@
close(release_fences_.front());
release_fences_.pop();
}
- close(ion_fd_);
if (layer_) {
delete layer_;
}
@@ -108,13 +107,8 @@
const private_handle_t *handle = static_cast<const private_handle_t *>(buffer);
- // Validate and dup ion fd from surfaceflinger
- // This works around bug 30281222
if (handle->fd < 0) {
return HWC2::Error::BadParameter;
- } else {
- close(ion_fd_);
- ion_fd_ = dup(handle->fd);
}
LayerBuffer *layer_buffer = &layer_->input_buffer;
@@ -158,7 +152,7 @@
layer_buffer->flags.secure_camera = secure_camera;
layer_buffer->flags.secure_display = secure_display;
- layer_buffer->planes[0].fd = ion_fd_;
+ layer_buffer->planes[0].fd = handle->fd;
layer_buffer->planes[0].offset = handle->offset;
layer_buffer->planes[0].stride = UINT32(handle->width);
layer_buffer->acquire_fence_fd = acquire_fence;
diff --git a/sdm/libs/hwc2/hwc_layers.h b/sdm/libs/hwc2/hwc_layers.h
index 0260fd0..e8e6e59 100644
--- a/sdm/libs/hwc2/hwc_layers.h
+++ b/sdm/libs/hwc2/hwc_layers.h
@@ -98,7 +98,6 @@
const hwc2_display_t display_id_;
static std::atomic<hwc2_layer_t> next_id_;
std::queue<int32_t> release_fences_;
- int ion_fd_ = -1;
HWCBufferAllocator *buffer_allocator_ = NULL;
int32_t dataspace_ = HAL_DATASPACE_UNKNOWN;
LayerTransform layer_transform_ = {};