|
@@ -1052,10 +1052,15 @@ static struct vmw_master *vmw_master_check(struct drm_device *dev,
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
/*
|
|
- * Check if we were previously master, but now dropped.
|
|
|
|
|
|
+ * Check if we were previously master, but now dropped. In that
|
|
|
|
+ * case, allow at least render node functionality.
|
|
*/
|
|
*/
|
|
if (vmw_fp->locked_master) {
|
|
if (vmw_fp->locked_master) {
|
|
mutex_unlock(&dev->master_mutex);
|
|
mutex_unlock(&dev->master_mutex);
|
|
|
|
+
|
|
|
|
+ if (flags & DRM_RENDER_ALLOW)
|
|
|
|
+ return NULL;
|
|
|
|
+
|
|
DRM_ERROR("Dropped master trying to access ioctl that "
|
|
DRM_ERROR("Dropped master trying to access ioctl that "
|
|
"requires authentication.\n");
|
|
"requires authentication.\n");
|
|
return ERR_PTR(-EACCES);
|
|
return ERR_PTR(-EACCES);
|