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_ = {};