diff --git a/drivers/gpu/drm/msm/sde/sde_connector.c b/drivers/gpu/drm/msm/sde/sde_connector.c index 3f65b1fef26a..5da02221103c 100644 --- a/drivers/gpu/drm/msm/sde/sde_connector.c +++ b/drivers/gpu/drm/msm/sde/sde_connector.c @@ -474,6 +474,9 @@ static int sde_connector_atomic_set_property(struct drm_connector *connector, } break; case CONNECTOR_PROP_RETIRE_FENCE: + if (!val) + goto end; + rc = sde_fence_create(&c_conn->retire_fence, &fence_fd, 0); if (rc) { SDE_ERROR("fence create failed rc:%d\n", rc); diff --git a/drivers/gpu/drm/msm/sde/sde_crtc.c b/drivers/gpu/drm/msm/sde/sde_crtc.c index 50ae398e319c..02b344410cfc 100644 --- a/drivers/gpu/drm/msm/sde/sde_crtc.c +++ b/drivers/gpu/drm/msm/sde/sde_crtc.c @@ -1761,6 +1761,9 @@ static int sde_crtc_atomic_set_property(struct drm_crtc *crtc, _sde_crtc_set_input_fence_timeout(cstate); break; case CRTC_PROP_OUTPUT_FENCE: + if (!val) + goto exit; + ret = _sde_crtc_get_output_fence(crtc, state, &fence_fd); if (ret) {