projects
/
platform
/
upstream
/
libdrm.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
cef0f24
)
Only return EBUSY after we've established we need to schedule a new swap.
author
Michel Dänzer
<michel@tungstengraphics.com>
Fri, 1 Sep 2006 09:48:07 +0000
(11:48 +0200)
committer
Michel Dänzer
<michel@tungstengraphics.com>
Fri, 29 Sep 2006 10:55:09 +0000
(12:55 +0200)
(cherry picked from
50a0284a61d4415c0ebdb02decee76ef3115007a
commit)
shared-core/i915_irq.c
patch
|
blob
|
history
diff --git
a/shared-core/i915_irq.c
b/shared-core/i915_irq.c
index
d88afdd
..
158a91d
100644
(file)
--- a/
shared-core/i915_irq.c
+++ b/
shared-core/i915_irq.c
@@
-427,11
+427,6
@@
int i915_vblank_swap(DRM_IOCTL_ARGS)
return DRM_ERR(EINVAL);
}
- if (dev_priv->swaps_pending >= 100) {
- DRM_DEBUG("Too many swaps queued\n");
- return DRM_ERR(EBUSY);
- }
-
DRM_COPY_FROM_USER_IOCTL(swap, (drm_i915_vblank_swap_t __user *) data,
sizeof(swap));
@@
-496,6
+491,11
@@
int i915_vblank_swap(DRM_IOCTL_ARGS)
spin_unlock_irqrestore(&dev_priv->swaps_lock, irqflags);
+ if (dev_priv->swaps_pending >= 100) {
+ DRM_DEBUG("Too many swaps queued\n");
+ return DRM_ERR(EBUSY);
+ }
+
vbl_swap = drm_calloc(1, sizeof(vbl_swap), DRM_MEM_DRIVER);
if (!vbl_swap) {