drm/i915/gvt: Mark i915.enable_gvt as false if loading fails
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 21 Jun 2016 11:04:21 +0000 (12:04 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 21 Jun 2016 11:40:13 +0000 (12:40 +0100)
If we update the value of i915.enable_gvt should we fail to load GVT,
userspace can easily detect when it fails to load as requested.

Testcase: igt/gvt_basic
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Zhi Wang <zhi.a.wang@intel.com>
Reviewed-by: Zhi Wang <zhi.a.wang@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1466507234-23242-1-git-send-email-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/intel_gvt.c

index 9fa458c..434f4d5 100644 (file)
@@ -63,7 +63,7 @@ int intel_gvt_init(struct drm_i915_private *dev_priv)
 
        if (!is_supported_device(dev_priv)) {
                DRM_DEBUG_DRIVER("Unsupported device. GVT-g is disabled\n");
-               return 0;
+               goto bail;
        }
 
        /*
@@ -72,16 +72,20 @@ int intel_gvt_init(struct drm_i915_private *dev_priv)
        ret = intel_gvt_init_host();
        if (ret) {
                DRM_DEBUG_DRIVER("Not in host or MPT modules not found\n");
-               return 0;
+               goto bail;
        }
 
        ret = intel_gvt_init_device(dev_priv);
        if (ret) {
                DRM_DEBUG_DRIVER("Fail to init GVT device\n");
-               return 0;
+               goto bail;
        }
 
        return 0;
+
+bail:
+       i915.enable_gvt = 0;
+       return 0;
 }
 
 /**