Skip to content

Commit

Permalink
drm: i915: Only return EBUSY after we've established we need to sched…
Browse files Browse the repository at this point in the history
…ule a new swap.

Signed-off-by: Dave Airlie <airlied@linux.ie>
  • Loading branch information
=?utf-8?q?Michel_D=C3=A4nzer?= authored and airlied committed Dec 7, 2006
1 parent 2dbb232 commit 21fa60e
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions drivers/char/drm/i915_irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -392,11 +392,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));

Expand Down Expand Up @@ -461,6 +456,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) {
Expand Down

0 comments on commit 21fa60e

Please sign in to comment.