diff mbox

drm/i915/bdw: Return -ENONENT on default ctx destroy

Message ID 1387929774-19607-1-git-send-email-benjamin.widawsky@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Ben Widawsky Dec. 25, 2013, 12:02 a.m. UTC
This was an accidental "ABI" change introduced during PPGTT:

commit 0eea67eb26000657079b7fc41079097942339452
Author: Ben Widawsky <ben@bwidawsk.net>
Date:   Fri Dec 6 14:11:19 2013 -0800

    drm/i915: Create a per file_priv default context

The failure test application actually tests the return type. The other
option is to simply change the test.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
---
 drivers/gpu/drm/i915/i915_gem_context.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Chris Wilson Dec. 30, 2013, 1:09 p.m. UTC | #1
On Tue, Dec 24, 2013 at 04:02:54PM -0800, Ben Widawsky wrote:
> This was an accidental "ABI" change introduced during PPGTT:
> 
> commit 0eea67eb26000657079b7fc41079097942339452
> Author: Ben Widawsky <ben@bwidawsk.net>
> Date:   Fri Dec 6 14:11:19 2013 -0800
> 
>     drm/i915: Create a per file_priv default context
> 
> The failure test application actually tests the return type. The other
> option is to simply change the test.
> 
> Signed-off-by: Ben Widawsky <ben@bwidawsk.net>

I was thinking that EPERM on the untouchable default context was right,
until I noticed that this was destroy and it is never possible to
destroy the default. (Not even root can, so you can not raise your
privileges and make the ioctl work.)

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
index ebe0f67..15d1f96 100644
--- a/drivers/gpu/drm/i915/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/i915_gem_context.c
@@ -769,7 +769,7 @@  int i915_gem_context_destroy_ioctl(struct drm_device *dev, void *data,
 		return -ENODEV;
 
 	if (args->ctx_id == DEFAULT_CONTEXT_ID)
-		return -EPERM;
+		return -ENOENT;
 
 	ret = i915_mutex_lock_interruptible(dev);
 	if (ret)