drm: revamp locking around fb creation/destruction
[deliverable/linux.git] / drivers / gpu / drm / vmwgfx / vmwgfx_ioctl.c
index a135498a129819381f6790a34ab6762eaf328078..0d6a161b204bbdd48ee05c6e2899bdbd8358c5f6 100644 (file)
@@ -165,7 +165,9 @@ int vmw_present_ioctl(struct drm_device *dev, void *data,
 
        drm_modeset_lock_all(dev);
 
+       mutex_lock(&dev->mode_config.fb_lock);
        obj = drm_mode_object_find(dev, arg->fb_id, DRM_MODE_OBJECT_FB);
+       mutex_unlock(&dev->mode_config.fb_lock);
        if (!obj) {
                DRM_ERROR("Invalid framebuffer id.\n");
                ret = -EINVAL;
@@ -248,7 +250,9 @@ int vmw_present_readback_ioctl(struct drm_device *dev, void *data,
 
        drm_modeset_lock_all(dev);
 
+       mutex_lock(&dev->mode_config.fb_lock);
        obj = drm_mode_object_find(dev, arg->fb_id, DRM_MODE_OBJECT_FB);
+       mutex_unlock(&dev->mode_config.fb_lock);
        if (!obj) {
                DRM_ERROR("Invalid framebuffer id.\n");
                ret = -EINVAL;
This page took 0.028757 seconds and 5 git commands to generate.