diff options
Diffstat (limited to 'drivers/gpu/drm/drm_context.c')
| -rw-r--r-- | drivers/gpu/drm/drm_context.c | 10 | 
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/gpu/drm/drm_context.c b/drivers/gpu/drm/drm_context.c index d505f695421..809ec0f0345 100644 --- a/drivers/gpu/drm/drm_context.c +++ b/drivers/gpu/drm/drm_context.c @@ -256,12 +256,13 @@ static int drm_context_switch(struct drm_device * dev, int old, int new)   * hardware lock is held, clears the drm_device::context_flag and wakes up   * drm_device::context_wait.   */ -static int drm_context_switch_complete(struct drm_device * dev, int new) +static int drm_context_switch_complete(struct drm_device *dev, +				       struct drm_file *file_priv, int new)  {  	dev->last_context = new;	/* PRE/POST: This is the _only_ writer. */  	dev->last_switch = jiffies; -	if (!_DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock)) { +	if (!_DRM_LOCK_IS_HELD(file_priv->master->lock.hw_lock->lock)) {  		DRM_ERROR("Lock isn't held after context switch\n");  	} @@ -420,7 +421,7 @@ int drm_newctx(struct drm_device *dev, void *data,  	struct drm_ctx *ctx = data;  	DRM_DEBUG("%d\n", ctx->handle); -	drm_context_switch_complete(dev, ctx->handle); +	drm_context_switch_complete(dev, file_priv, ctx->handle);  	return 0;  } @@ -442,9 +443,6 @@ int drm_rmctx(struct drm_device *dev, void *data,  	struct drm_ctx *ctx = data;  	DRM_DEBUG("%d\n", ctx->handle); -	if (ctx->handle == DRM_KERNEL_CONTEXT + 1) { -		file_priv->remove_auth_on_close = 1; -	}  	if (ctx->handle != DRM_KERNEL_CONTEXT) {  		if (dev->driver->context_dtor)  			dev->driver->context_dtor(dev, ctx->handle);  |