mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-06 06:35:12 +00:00
drm/vmwgfx: use drm_modeset_lock_all
Ok, this one here is a bit more complicated, and I can't really claim to fully understand the locking and lifetime rules of the vmwgfx driver. So just convert ever mutex_lock call, including the interruptible one. Since other places (e.g. in the execbuf ioctl) take the mode_config.mutex without bothering with interruptible handling, I've figured I should be able to get away with this in a few more places ... Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
b13f598049
commit
bbe4b99ff2
1 changed files with 4 additions and 14 deletions
|
@ -163,11 +163,7 @@ int vmw_present_ioctl(struct drm_device *dev, void *data,
|
|||
goto out_no_copy;
|
||||
}
|
||||
|
||||
ret = mutex_lock_interruptible(&dev->mode_config.mutex);
|
||||
if (unlikely(ret != 0)) {
|
||||
ret = -ERESTARTSYS;
|
||||
goto out_no_mode_mutex;
|
||||
}
|
||||
drm_modeset_lock_all(dev);
|
||||
|
||||
obj = drm_mode_object_find(dev, arg->fb_id, DRM_MODE_OBJECT_FB);
|
||||
if (!obj) {
|
||||
|
@ -200,8 +196,7 @@ out_no_surface:
|
|||
ttm_read_unlock(&vmaster->lock);
|
||||
out_no_ttm_lock:
|
||||
out_no_fb:
|
||||
mutex_unlock(&dev->mode_config.mutex);
|
||||
out_no_mode_mutex:
|
||||
drm_modeset_unlock_all(dev);
|
||||
out_no_copy:
|
||||
kfree(clips);
|
||||
out_clips:
|
||||
|
@ -251,11 +246,7 @@ int vmw_present_readback_ioctl(struct drm_device *dev, void *data,
|
|||
goto out_no_copy;
|
||||
}
|
||||
|
||||
ret = mutex_lock_interruptible(&dev->mode_config.mutex);
|
||||
if (unlikely(ret != 0)) {
|
||||
ret = -ERESTARTSYS;
|
||||
goto out_no_mode_mutex;
|
||||
}
|
||||
drm_modeset_lock_all(dev);
|
||||
|
||||
obj = drm_mode_object_find(dev, arg->fb_id, DRM_MODE_OBJECT_FB);
|
||||
if (!obj) {
|
||||
|
@ -282,8 +273,7 @@ int vmw_present_readback_ioctl(struct drm_device *dev, void *data,
|
|||
ttm_read_unlock(&vmaster->lock);
|
||||
out_no_ttm_lock:
|
||||
out_no_fb:
|
||||
mutex_unlock(&dev->mode_config.mutex);
|
||||
out_no_mode_mutex:
|
||||
drm_modeset_unlock_all(dev);
|
||||
out_no_copy:
|
||||
kfree(clips);
|
||||
out_clips:
|
||||
|
|
Loading…
Add table
Reference in a new issue