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);
drm_fb_release(filp);
if (file_priv->is_master) {
+ struct drm_file *temp;
+ list_for_each_entry(temp, &dev->filelist, lhead) {
+ if ((temp->master == file_priv->master) &&
+ (temp != file_priv))
+ temp->authenticated = 0;
+ }
+
if (file_priv->minor->master == file_priv->master)
file_priv->minor->master = NULL;
drm_put_master(file_priv->master);
mutex_lock(&dev->struct_mutex);
drm_object_release(filp);
- if (file_priv->remove_auth_on_close == 1) {
- struct drm_file *temp;
- list_for_each_entry(temp, &dev->filelist, lhead)
- temp->authenticated = 0;
- }
list_del(&file_priv->lhead);
-
mutex_unlock(&dev->struct_mutex);
if (dev->driver->postclose)