[PATCH] acpi: devices: deiniit acpica when tests are skipped

Alex Hung alex.hung at canonical.com
Fri Oct 6 00:15:20 UTC 2017


deinit function in fwts_framework_ops is not called when init function
returns FWTS_SKIP. This patch fixes fwts_acpica_deinit() is not called.

Signed-off-by: Alex Hung <alex.hung at canonical.com>
---
 src/acpi/devices/ac_adapter/ac.c         | 1 +
 src/acpi/devices/battery/battery.c       | 1 +
 src/acpi/devices/battery/smart_battery.c | 1 +
 src/acpi/devices/ec/ec.c                 | 1 +
 4 files changed, 4 insertions(+)

diff --git a/src/acpi/devices/ac_adapter/ac.c b/src/acpi/devices/ac_adapter/ac.c
index e573c4ba..d0323f24 100644
--- a/src/acpi/devices/ac_adapter/ac.c
+++ b/src/acpi/devices/ac_adapter/ac.c
@@ -57,6 +57,7 @@ static int acpi_ac_init(fwts_framework *fw)
 
 	if (!device) {
 		fwts_log_error(fw, "ACPI AC device does not exist, skipping test");
+		fwts_acpica_deinit();
 		return FWTS_SKIP;
 	} else {
 		ACPI_BUFFER buffer;
diff --git a/src/acpi/devices/battery/battery.c b/src/acpi/devices/battery/battery.c
index ec1322ad..f6922328 100644
--- a/src/acpi/devices/battery/battery.c
+++ b/src/acpi/devices/battery/battery.c
@@ -57,6 +57,7 @@ static int acpi_battery_init(fwts_framework *fw)
 
 	if (!device) {
 		fwts_log_error(fw, "ACPI Battery device does not exist, skipping test");
+		fwts_acpica_deinit();
 		return FWTS_SKIP;
 	} else {
 		ACPI_BUFFER buffer;
diff --git a/src/acpi/devices/battery/smart_battery.c b/src/acpi/devices/battery/smart_battery.c
index 81ecd529..f16f0f44 100644
--- a/src/acpi/devices/battery/smart_battery.c
+++ b/src/acpi/devices/battery/smart_battery.c
@@ -57,6 +57,7 @@ static int smart_battery_init(fwts_framework *fw)
 
 	if (!device) {
 		fwts_log_error(fw, "Smart Battery device does not exist, skipping test");
+		fwts_acpica_deinit();
 		return FWTS_SKIP;
 	} else {
 		ACPI_BUFFER buffer;
diff --git a/src/acpi/devices/ec/ec.c b/src/acpi/devices/ec/ec.c
index a7ff5ded..1ddcbfe5 100644
--- a/src/acpi/devices/ec/ec.c
+++ b/src/acpi/devices/ec/ec.c
@@ -57,6 +57,7 @@ static int acpi_ec_init(fwts_framework *fw)
 
 	if (!device) {
 		fwts_log_error(fw, "ACPI EC device does not exist, skipping test");
+		fwts_acpica_deinit();
 		return FWTS_SKIP;
 	} else {
 		ACPI_BUFFER buffer;
-- 
2.11.0




More information about the fwts-devel mailing list