+static tdm_error
+_tdm_pp_check_if_exist(tdm_private_pp *private_pp,
+ tbm_surface_h src, tbm_surface_h dst)
+{
+ tdm_buffer_info *buf_info = NULL;
+
+ LIST_FOR_EACH_ENTRY(buf_info, &private_pp->src_buffer_list, link) {
+ if (buf_info->buffer == src) {
+ TDM_ERR("%p attached twice", src);
+ return TDM_ERROR_BAD_REQUEST;
+ }
+ }
+
+ LIST_FOR_EACH_ENTRY(buf_info, &private_pp->src_pending_buffer_list, link) {
+ if (buf_info->buffer == src) {
+ TDM_ERR("%p attached twice", src);
+ return TDM_ERROR_BAD_REQUEST;
+ }
+ }
+
+ LIST_FOR_EACH_ENTRY(buf_info, &private_pp->dst_buffer_list, link) {
+ if (buf_info->buffer == dst) {
+ TDM_ERR("%p attached twice", dst);
+ return TDM_ERROR_BAD_REQUEST;
+ }
+ }
+
+ LIST_FOR_EACH_ENTRY(buf_info, &private_pp->dst_pending_buffer_list, link) {
+ if (buf_info->buffer == dst) {
+ TDM_ERR("%p attached twice", dst);
+ return TDM_ERROR_BAD_REQUEST;
+ }
+ }
+
+ return TDM_ERROR_NONE;
+}
+