tdm_private_output *private_output = user_data;
tdm_error ret;
- TDM_INFO("output(%d) %s", private_output->pipe, tdm_status_str(dpms));
+ TDM_INFO("output(%d) %s", private_output->pipe, tdm_dpms_str(dpms));
private_output->current_dpms_value = dpms;
private_output->waiting_dpms_change = 0;
ret = tdm_voutput_set_commit_func(private_voutput, _tdm_voutput_cb_commit);
if (ret != TDM_ERROR_NONE) {
TDM_ERR("failed: tdm_voutput_set_commit_func");
+ _pthread_mutex_unlock(&private_display->lock);
return ret;
}
}
if (TDM_OUTPUT_DPMS_VSYNC_IS_OFF(dpms_value)) {
TDM_WRN("dpms %s. Directly call commit handler instead of commit.", tdm_dpms_str(dpms_value));
- if (func)
+ if (func) {
+ _pthread_mutex_unlock(&private_display->lock);
func(output, 0, 0, 0, user_data);
+ _pthread_mutex_lock(&private_display->lock);
+ }
}
return ret;