diff options
Diffstat (limited to 'drivers/gpu/drm/drm_syncobj.c')
| -rw-r--r-- | drivers/gpu/drm/drm_syncobj.c | 5 | 
1 files changed, 5 insertions, 0 deletions
| diff --git a/drivers/gpu/drm/drm_syncobj.c b/drivers/gpu/drm/drm_syncobj.c index adb3cb27d31e..759278fef35a 100644 --- a/drivers/gpu/drm/drm_syncobj.c +++ b/drivers/gpu/drm/drm_syncobj.c @@ -97,6 +97,8 @@ static int drm_syncobj_fence_get_or_add_callback(struct drm_syncobj *syncobj,  {  	int ret; +	WARN_ON(*fence); +  	*fence = drm_syncobj_fence_get(syncobj);  	if (*fence)  		return 1; @@ -743,6 +745,9 @@ static signed long drm_syncobj_array_wait_timeout(struct drm_syncobj **syncobjs,  	if (flags & DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT) {  		for (i = 0; i < count; ++i) { +			if (entries[i].fence) +				continue; +  			drm_syncobj_fence_get_or_add_callback(syncobjs[i],  							      &entries[i].fence,  							      &entries[i].syncobj_cb, |