Unverified Commit a6ce8bf3 authored by David E. Box's avatar David E. Box Committed by Ilpo Järvinen
Browse files

platform/x86/intel/vsec: Return real error codes from registration path



Stop collapsing registration results into booleans. Make
intel_vsec_walk_header() return int and propagate the first non-zero error
from intel_vsec_register_device(). intel_vsec_register() now returns that
error directly and 0 on success.

This preserves success behavior while surfacing meaningful errors instead
of hiding them behind a bool/-ENODEV, which makes debugging and probe
ordering issues clearer.

Reviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: default avatarDavid E. Box <david.e.box@linux.intel.com>
Link: https://patch.msgid.link/20260313015202.3660072-6-david.e.box@linux.intel.com


Signed-off-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
parent 353042d5
Loading
Loading
Loading
Loading
+6 −10
Original line number Diff line number Diff line
@@ -461,20 +461,19 @@ static int intel_vsec_register_device(struct device *dev,
	return -EAGAIN;
}

static bool intel_vsec_walk_header(struct device *dev,
static int intel_vsec_walk_header(struct device *dev,
				  const struct intel_vsec_platform_info *info)
{
	struct intel_vsec_header **header = info->headers;
	bool have_devices = false;
	int ret;

	for ( ; *header; header++) {
		ret = intel_vsec_register_device(dev, *header, info, info->base_addr);
		if (!ret)
			have_devices = true;
		if (ret)
			return ret;
	}

	return have_devices;
	return 0;
}

static bool intel_vsec_walk_dvsec(struct pci_dev *pdev,
@@ -580,10 +579,7 @@ int intel_vsec_register(struct device *dev,
	if (!dev || !info || !info->headers)
		return -EINVAL;

	if (!intel_vsec_walk_header(dev, info))
		return -ENODEV;
	else
		return 0;
	return intel_vsec_walk_header(dev, info);
}
EXPORT_SYMBOL_NS_GPL(intel_vsec_register, "INTEL_VSEC");