tdm_server: check timeout flag and vblank_info in timeout callback 90/195890/2
authorChangyeon Lee <cyeon.lee@samsung.com>
Wed, 19 Dec 2018 07:42:08 +0000 (16:42 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Wed, 19 Dec 2018 07:53:30 +0000 (16:53 +0900)
Change-Id: Ie203b32e29bab94dcb386884e05a1e87a9c5bab4

src/tdm_server.c

index 76bae78..31ddf14 100644 (file)
@@ -218,9 +218,12 @@ _tdm_server_timeout_timer_cb(void *user_data)
        tv_usec = TDM_TIME_USEC(curr);
 
        LIST_FOR_EACH_ENTRY(wait_info, &keep_private_server->wait_list, link) {
+               if (wait_info->timeout) continue;
+               if (vblank_info != wait_info->vblank_info) continue;
+
                wl_tdm_vblank_send_done(vblank_info->resource, wait_info->req_id,
                                                                0, tv_sec, tv_usec, TDM_ERROR_TIMEOUT);
-               TDM_ERR("tdm_server_vblank(%p) req_id(%d) timeout force send vblank", vblank_info);
+               TDM_ERR("tdm_server_vblank(%p) req_id(%d) timeout force send vblank", vblank_info, wait_info->req_id);
                wait_info->timeout = 1;
        }