hwc2: Return an error for a zero acquire fence

Prevent an acquire fence of value 0 from being programmed into
the layer stack.

Change-Id: I0e2a0ba622c61c105bbe44ffa9ca986388e8557f
CRs-fixed: 1025574
diff --git a/sdm/libs/hwc2/hwc_display.cpp b/sdm/libs/hwc2/hwc_display.cpp
index 8237882..f9cb466 100644
--- a/sdm/libs/hwc2/hwc_display.cpp
+++ b/sdm/libs/hwc2/hwc_display.cpp
@@ -618,6 +618,12 @@
   if (target == nullptr) {
     return HWC2::Error::None;
   }
+
+  if (acquire_fence == 0) {
+    DLOGE("acquire_fence is zero");
+    return HWC2::Error::BadParameter;
+  }
+
   client_target_->SetLayerBuffer(target, acquire_fence);
   client_target_->SetLayerSurfaceDamage(damage);
   // Ignoring dataspace for now
diff --git a/sdm/libs/hwc2/hwc_layers.cpp b/sdm/libs/hwc2/hwc_layers.cpp
index f5bc6e5..9516189 100644
--- a/sdm/libs/hwc2/hwc_layers.cpp
+++ b/sdm/libs/hwc2/hwc_layers.cpp
@@ -58,6 +58,11 @@
     return HWC2::Error::BadParameter;
   }
 
+  if (acquire_fence == 0) {
+    DLOGE("acquire_fence is zero");
+    return HWC2::Error::BadParameter;
+  }
+
   const private_handle_t *handle = static_cast<const private_handle_t *>(buffer);
   LayerBuffer *layer_buffer = layer_->input_buffer;
   layer_buffer->width = UINT32(handle->width);