summaryrefslogtreecommitdiff
path: root/services
diff options
context:
space:
mode:
Diffstat (limited to 'services')
-rw-r--r--services/std_svc/sdei/sdei_intr_mgmt.c4
-rw-r--r--services/std_svc/sdei/sdei_main.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/services/std_svc/sdei/sdei_intr_mgmt.c b/services/std_svc/sdei/sdei_intr_mgmt.c
index 4551a8b1..42bf46d0 100644
--- a/services/std_svc/sdei/sdei_intr_mgmt.c
+++ b/services/std_svc/sdei/sdei_intr_mgmt.c
@@ -475,8 +475,10 @@ int sdei_dispatch_event(int ev_num, unsigned int preempted_sec_state)
sdei_cpu_state_t *state;
/* Validate preempted security state */
- if ((preempted_sec_state != SECURE) || (preempted_sec_state != NON_SECURE))
+ if ((preempted_sec_state != SECURE) &&
+ (preempted_sec_state != NON_SECURE)) {
return -1;
+ }
/* Can't dispatch if events are masked on this PE */
state = sdei_get_this_pe_state();
diff --git a/services/std_svc/sdei/sdei_main.c b/services/std_svc/sdei/sdei_main.c
index 4fe990ad..2f08c8ba 100644
--- a/services/std_svc/sdei/sdei_main.c
+++ b/services/std_svc/sdei/sdei_main.c
@@ -120,6 +120,7 @@ void sdei_class_init(sdei_class_t class)
/* Platform events are always bound, so set the bound flag */
if (is_map_dynamic(map)) {
assert(map->intr == SDEI_DYN_IRQ);
+ assert(is_event_normal(map));
num_dyn_shrd_slots++;
} else {
/* Shared mappings must be bound to shared interrupt */
@@ -171,6 +172,7 @@ void sdei_class_init(sdei_class_t class)
if (map->ev_num != SDEI_EVENT_0) {
if (is_map_dynamic(map)) {
assert(map->intr == SDEI_DYN_IRQ);
+ assert(is_event_normal(map));
num_dyn_priv_slots++;
} else {
/*