}
/* LCOV_EXCL_START */
+static int
+_tdm_client_vblank_wait_list_validation_check(tdm_private_client_vblank *private_vblank)
+{
+ if (private_vblank->wait_list.next == NULL || private_vblank->wait_list.prev == NULL) {
+ TDM_ERR("vblank(%p) wait_list broken. prev(%p), next(%p) pid(%d)",
+ private_vblank, private_vblank->wait_list.prev, private_vblank->wait_list.next, getpid());
+ }
+
+ return 0;
+}
+
static void
_tdm_client_vblank_cb_done(void *data, struct wl_tdm_vblank *wl_tdm_vblank,
uint32_t req_id, uint32_t sequence, uint32_t tv_sec,
TDM_DBG("vblank(%p) req_id(%u) sequence(%u) time(%.6f)",
private_vblank, req_id, sequence, TDM_TIME(tv_sec, tv_usec));
+ _tdm_client_vblank_wait_list_validation_check(private_vblank);
+
LIST_FOR_EACH_ENTRY(w, &private_vblank->wait_list, link) {
if (w->req_id != req_id)
continue;