[kvm-unit-tests PATCH 05/10] riscv: sbi: Improve interrupt handling cleanup
Andrew Jones
andrew.jones at linux.dev
Fri Feb 21 07:55:39 PST 2025
Each test should clean up after itself so following tests don't
need to worry about the current state and can just do its own
prep.
Signed-off-by: Andrew Jones <andrew.jones at linux.dev>
---
riscv/sbi.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/riscv/sbi.c b/riscv/sbi.c
index ceeb0d8d2779..7bffaac07283 100644
--- a/riscv/sbi.c
+++ b/riscv/sbi.c
@@ -394,6 +394,8 @@ static void ipi_hart_wait(void *data)
timer_stop();
local_ipi_disable();
timer_irq_disable();
+ install_irq_handler(IRQ_S_SOFT, NULL);
+ install_irq_handler(IRQ_S_TIMER, NULL);
cpumask_set_cpu(me, &ipi_done);
}
@@ -1395,9 +1397,6 @@ static void check_susp(void)
struct sbiret ret;
int testnum, i;
- local_irq_disable();
- timer_stop();
-
report_prefix_push("susp");
timer_setup(susp_timer);
@@ -1428,8 +1427,8 @@ static void check_susp(void)
if (!params.returns && ret.error == SBI_ERR_NOT_SUPPORTED) {
report_skip("SUSP not supported?");
- report_prefix_popn(2);
- return;
+ report_prefix_pop();
+ goto out;
} else if (!params.returns) {
report_fail("unexpected return with error: %ld, value: %ld", ret.error, ret.value);
} else {
@@ -1450,6 +1449,7 @@ static void check_susp(void)
report_prefix_pop();
}
+out:
local_irq_disable();
timer_teardown();
--
2.48.1
More information about the kvm-riscv
mailing list