diff options
Diffstat (limited to 'drivers/gpu/drm/drm_modeset_lock.c')
| -rw-r--r-- | drivers/gpu/drm/drm_modeset_lock.c | 8 | 
1 files changed, 6 insertions, 2 deletions
| diff --git a/drivers/gpu/drm/drm_modeset_lock.c b/drivers/gpu/drm/drm_modeset_lock.c index 51cc47d827d8..c0a5cd8c5262 100644 --- a/drivers/gpu/drm/drm_modeset_lock.c +++ b/drivers/gpu/drm/drm_modeset_lock.c @@ -80,8 +80,10 @@ int __drm_modeset_lock_all(struct drm_device *dev,  		return -ENOMEM;  	if (trylock) { -		if (!mutex_trylock(&config->mutex)) -			return -EBUSY; +		if (!mutex_trylock(&config->mutex)) { +			ret = -EBUSY; +			goto out; +		}  	} else {  		mutex_lock(&config->mutex);  	} @@ -114,6 +116,8 @@ fail:  		goto retry;  	} +out: +	kfree(ctx);  	return ret;  }  EXPORT_SYMBOL(__drm_modeset_lock_all); | 
