summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnshuman Gupta <anshuman.gupta@intel.com>2022-02-22 19:38:37 +0530
committerAshutosh Dixit <ashutosh.dixit@intel.com>2022-02-22 11:39:08 -0800
commita374d978e83e78b89f73a30726d1de6cee378260 (patch)
tree16931a000e3fd46d51c3b4aecca8feb14897cfaf
parent5f3cfa485eb46902e55c6b96c80dc8c57ddf3b43 (diff)
lib/igt_kmod: Don't use process exit return value
Kmod igt library functions like igt_i915_driver_{load, unload} uses process exit IGT_EXIT_{FAILURE, SKIP, SUCCESS} return values. Let these function return actual return values from returned igt_kmod_{load, unload} functions. Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com> Suggested-by: Ashutosh Dixit <ashutosh.dixit@intel.com> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
-rw-r--r--lib/igt_kmod.c34
1 files changed, 21 insertions, 13 deletions
diff --git a/lib/igt_kmod.c b/lib/igt_kmod.c
index a249ea92..cf7a3b22 100644
--- a/lib/igt_kmod.c
+++ b/lib/igt_kmod.c
@@ -355,22 +355,26 @@ igt_kmod_list_loaded(void)
int
igt_i915_driver_load(const char *opts)
{
+ int ret;
+
if (opts)
igt_info("Reloading i915 with %s\n\n", opts);
- if (igt_kmod_load("i915", opts)) {
+ ret = igt_kmod_load("i915", opts);
+ if (ret) {
igt_warn("Could not load i915\n");
- return IGT_EXIT_FAILURE;
+ return ret;
}
bind_fbcon(true);
igt_kmod_load("snd_hda_intel", NULL);
- return IGT_EXIT_SUCCESS;
+ return 0;
}
int __igt_i915_driver_unload(const char **who)
{
+ int ret;
const char *sound[] = {
"snd_hda_intel",
"snd_hdmi_lpe_audio",
@@ -390,32 +394,36 @@ int __igt_i915_driver_unload(const char **who)
if (igt_kmod_is_loaded(*m)) {
igt_terminate_process(SIGTERM, "alsactl");
kick_snd_hda_intel();
- if (igt_kmod_unload(*m, 0)) {
+ ret = igt_kmod_unload(*m, 0);
+ if (ret) {
if (who)
*who = *m;
- return IGT_EXIT_FAILURE;
+ return ret;
}
}
}
for (const char **m = aux; *m; m++) {
- if (igt_kmod_is_loaded(*m))
- if (igt_kmod_unload(*m, 0)) {
+ if (igt_kmod_is_loaded(*m)) {
+ ret = igt_kmod_unload(*m, 0);
+ if (ret) {
if (who)
*who = *m;
- return IGT_EXIT_FAILURE;
+ return ret;
}
+ }
}
if (igt_kmod_is_loaded("i915")) {
- if (igt_kmod_unload("i915", 0)) {
+ ret = igt_kmod_unload("i915", 0);
+ if (ret) {
if (who)
*who = "i915";
- return IGT_EXIT_FAILURE;
+ return ret;
}
}
- return IGT_EXIT_SUCCESS;
+ return 0;
}
/**
@@ -447,10 +455,10 @@ igt_i915_driver_unload(void)
if (igt_kmod_is_loaded("i915")) {
igt_warn("i915.ko still loaded!\n");
- return IGT_EXIT_FAILURE;
+ return -EBUSY;
}
- return IGT_EXIT_SUCCESS;
+ return 0;
}
/**