Commit 329328ec authored by Dan Carpenter's avatar Dan Carpenter Committed by Zhenyu Wang
Browse files

drm/i915/gvt: Fix error code in intel_gvt_init_device()



The intel_gvt_init_vgpu_type_groups() function is only called from
intel_gvt_init_device().  If it fails then the intel_gvt_init_device()
prints the error code and propagates it back again.  That's a bug
because false is zero/success.  The fix is to modify it to return zero
or negative error codes and make everything consistent.

Fixes: c5d71cb3 ("drm/i915/gvt: Move vGPU type related code into gvt file")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/YHaFQtk/DIVYK1u5@mwanda


Reviewed-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
parent df2640b5
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -126,7 +126,7 @@ static bool intel_get_gvt_attrs(struct attribute_group ***intel_vgpu_type_groups
	return true;
}

static bool intel_gvt_init_vgpu_type_groups(struct intel_gvt *gvt)
static int intel_gvt_init_vgpu_type_groups(struct intel_gvt *gvt)
{
	int i, j;
	struct intel_vgpu_type *type;
@@ -144,7 +144,7 @@ static bool intel_gvt_init_vgpu_type_groups(struct intel_gvt *gvt)
		gvt_vgpu_type_groups[i] = group;
	}

	return true;
	return 0;

unwind:
	for (j = 0; j < i; j++) {
@@ -152,7 +152,7 @@ static bool intel_gvt_init_vgpu_type_groups(struct intel_gvt *gvt)
		kfree(group);
	}

	return false;
	return -ENOMEM;
}

static void intel_gvt_cleanup_vgpu_type_groups(struct intel_gvt *gvt)
@@ -360,7 +360,7 @@ int intel_gvt_init_device(struct drm_i915_private *i915)
		goto out_clean_thread;

	ret = intel_gvt_init_vgpu_type_groups(gvt);
	if (ret == false) {
	if (ret) {
		gvt_err("failed to init vgpu type groups: %d\n", ret);
		goto out_clean_types;
	}