diff options
Diffstat (limited to 'services')
-rw-r--r-- | services/std_svc/sdei/sdei_intr_mgmt.c | 4 | ||||
-rw-r--r-- | services/std_svc/sdei/sdei_main.c | 2 |
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 { /* |