diff --git a/include/hardware/camera3.h b/include/hardware/camera3.h
index 90d70df..dd57f30 100644
--- a/include/hardware/camera3.h
+++ b/include/hardware/camera3.h
@@ -192,9 +192,7 @@
  *     request and return output buffers from camera service.
  *
  *   - Add signal_stream_flush() to camera3_device_ops_t for camera service to notify HAL an
- *     upcoming configure_streams() call requires HAL to return buffers of certain streams. Also add
- *     stream_configuration_counter to camera3_stream_configuration_t to address the potential
- *     race condition between signal_stream_flush() call and configure_streams() call.
+ *     upcoming configure_streams() call requires HAL to return buffers of certain streams.
  *
  *   - Add CAMERA3_JPEG_APP_SEGMENTS_BLOB_ID to support BLOB with only JPEG apps
  *     segments and thumbnail (without main image bitstream). Camera framework
@@ -1812,16 +1810,6 @@
      * accordingly.
      */
     const camera_metadata_t *session_parameters;
-
-    /**
-     * >= CAMERA_DEVICE_API_VERSION_3_6:
-     *
-     * An incrementing counter used for HAL to keep track of the stream
-     * configuration and the paired oneway signal_stream_flush call. When the
-     * counter in signal_stream_flush call is less than the counter here, that
-     * signal_stream_flush call is stale.
-     */
-    int32_t stream_configuration_counter;
 } camera3_stream_configuration_t;
 
 /**
@@ -3478,16 +3466,8 @@
      * Note that this call serves as an optional hint and camera service may
      * skip calling this if all buffers are already returned.
      *
-     * stream_configuration_counter: Note that this method may be called from
-     *   a different thread than configure_streams() and due to concurrency
-     *   issues, it is possible the signalStreamFlush call arrives later than
-     *   the corresponding configure_streams() call, so the HAL must check
-     *   stream_configuration_counter for such race condition. If the counter is
-     *   less than the counter in the last configure_streams() call HAL last
-     *   received, the call is stale and HAL should ignore this call.
      */
     void (*signal_stream_flush)(const struct camera3_device*,
-            uint32_t stream_configuration_counter,
             uint32_t num_streams,
             const camera3_stream_t* const* streams);
 
