Merge pull request #1443 from jeenu-arm/sdei-fixes
SDEI client EL determination fix
diff --git a/services/std_svc/sdei/sdei_intr_mgmt.c b/services/std_svc/sdei/sdei_intr_mgmt.c
index 264ab44..a37188a 100644
--- a/services/std_svc/sdei/sdei_intr_mgmt.c
+++ b/services/std_svc/sdei/sdei_intr_mgmt.c
@@ -601,7 +601,7 @@
return 0;
}
-static void end_sdei_explicit_dispatch(struct jmpbuf *buffer)
+static void end_sdei_synchronous_dispatch(struct jmpbuf *buffer)
{
longjmp(buffer);
}
@@ -679,7 +679,7 @@
}
/* End the outstanding dispatch */
- end_sdei_explicit_dispatch(disp_ctx->dispatch_jmp);
+ end_sdei_synchronous_dispatch(disp_ctx->dispatch_jmp);
return 0;
}
diff --git a/services/std_svc/sdei/sdei_private.h b/services/std_svc/sdei/sdei_private.h
index ea60287..874fc22 100644
--- a/services/std_svc/sdei/sdei_private.h
+++ b/services/std_svc/sdei/sdei_private.h
@@ -164,7 +164,7 @@
cpu_context_t *ns_ctx = cm_get_context(NON_SECURE);
el3_state_t *el3_ctx = get_el3state_ctx(ns_ctx);
- return read_ctx_reg(el3_ctx, CTX_SPSR_EL3) & SCR_HCE_BIT ? MODE_EL2 :
+ return read_ctx_reg(el3_ctx, CTX_SCR_EL3) & SCR_HCE_BIT ? MODE_EL2 :
MODE_EL1;
}