Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3d3a5b32 authored by Thomas Hellstrom's avatar Thomas Hellstrom Committed by Dave Airlie
Browse files

drm/vmwgfx: Return -ERESTARTSYS when interrupted by a signal.



Fixes for TTM API change.

Signed-off-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: default avatarJakob Bornecrantz <jakob@vmware.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent e1f78003
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -386,7 +386,7 @@ static int vmw_validate_single_buffer(struct vmw_private *dev_priv,
		return 0;

	ret = vmw_gmr_bind(dev_priv, bo);
	if (likely(ret == 0 || ret == -ERESTART))
	if (likely(ret == 0 || ret == -ERESTARTSYS))
		return ret;


@@ -429,7 +429,7 @@ int vmw_execbuf_ioctl(struct drm_device *dev, void *data,

	ret = mutex_lock_interruptible(&dev_priv->cmdbuf_mutex);
	if (unlikely(ret != 0)) {
		ret = -ERESTART;
		ret = -ERESTARTSYS;
		goto out_no_cmd_mutex;
	}

+2 −4
Original line number Diff line number Diff line
@@ -191,7 +191,7 @@ static int vmw_fifo_wait_noirq(struct vmw_private *dev_priv,
		}
		schedule_timeout(1);
		if (interruptible && signal_pending(current)) {
			ret = -ERESTART;
			ret = -ERESTARTSYS;
			break;
		}
	}
@@ -237,9 +237,7 @@ static int vmw_fifo_wait(struct vmw_private *dev_priv,
		    (dev_priv->fifo_queue,
		     !vmw_fifo_is_full(dev_priv, bytes), timeout);

	if (unlikely(ret == -ERESTARTSYS))
		ret = -ERESTART;
	else if (unlikely(ret == 0))
	if (unlikely(ret == 0))
		ret = -EBUSY;
	else if (likely(ret > 0))
		ret = 0;
+2 −4
Original line number Diff line number Diff line
@@ -155,7 +155,7 @@ int vmw_fallback_wait(struct vmw_private *dev_priv,
					    TASK_UNINTERRUPTIBLE);
		}
		if (interruptible && signal_pending(current)) {
			ret = -ERESTART;
			ret = -ERESTARTSYS;
			break;
		}
	}
@@ -218,9 +218,7 @@ int vmw_wait_fence(struct vmw_private *dev_priv,
		     vmw_fence_signaled(dev_priv, sequence),
		     timeout);

	if (unlikely(ret == -ERESTARTSYS))
		ret = -ERESTART;
	else if (unlikely(ret == 0))
	if (unlikely(ret == 0))
		ret = -EBUSY;
	else if (likely(ret > 0))
		ret = 0;