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

Commit 42aacfba authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'drm-linus' of master.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6

parents b3eb67a2 cf65f162
Loading
Loading
Loading
Loading
+11 −5
Original line number Original line Diff line number Diff line
@@ -104,6 +104,10 @@ int drm_lock(struct inode *inode, struct file *filp,
	__set_current_state(TASK_RUNNING);
	__set_current_state(TASK_RUNNING);
	remove_wait_queue(&dev->lock.lock_queue, &entry);
	remove_wait_queue(&dev->lock.lock_queue, &entry);


	DRM_DEBUG("%d %s\n", lock.context, ret ? "interrupted" : "has lock");
	if (ret)
		return ret;

	sigemptyset(&dev->sigmask);
	sigemptyset(&dev->sigmask);
	sigaddset(&dev->sigmask, SIGSTOP);
	sigaddset(&dev->sigmask, SIGSTOP);
	sigaddset(&dev->sigmask, SIGTSTP);
	sigaddset(&dev->sigmask, SIGTSTP);
@@ -116,8 +120,12 @@ int drm_lock(struct inode *inode, struct file *filp,
	if (dev->driver->dma_ready && (lock.flags & _DRM_LOCK_READY))
	if (dev->driver->dma_ready && (lock.flags & _DRM_LOCK_READY))
		dev->driver->dma_ready(dev);
		dev->driver->dma_ready(dev);


	if (dev->driver->dma_quiescent && (lock.flags & _DRM_LOCK_QUIESCENT))
	if (dev->driver->dma_quiescent && (lock.flags & _DRM_LOCK_QUIESCENT)) {
		return dev->driver->dma_quiescent(dev);
		if (dev->driver->dma_quiescent(dev)) {
			DRM_DEBUG("%d waiting for DMA quiescent\n", lock.context);
			return DRM_ERR(EBUSY);
		}
	}


	/* dev->driver->kernel_context_switch isn't used by any of the x86
	/* dev->driver->kernel_context_switch isn't used by any of the x86
	 *  drivers but is used by the Sparc driver.
	 *  drivers but is used by the Sparc driver.
@@ -128,9 +136,7 @@ int drm_lock(struct inode *inode, struct file *filp,
		dev->driver->kernel_context_switch(dev, dev->last_context,
		dev->driver->kernel_context_switch(dev, dev->last_context,
						   lock.context);
						   lock.context);
	}
	}
	DRM_DEBUG("%d %s\n", lock.context, ret ? "interrupted" : "has lock");
	return 0;

	return ret;
}
}


/**
/**