summaryrefslogtreecommitdiff
path: root/services/std_svc/psci/psci_setup.c
diff options
context:
space:
mode:
Diffstat (limited to 'services/std_svc/psci/psci_setup.c')
-rw-r--r--services/std_svc/psci/psci_setup.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/services/std_svc/psci/psci_setup.c b/services/std_svc/psci/psci_setup.c
index 68f19a00..9e4955dc 100644
--- a/services/std_svc/psci/psci_setup.c
+++ b/services/std_svc/psci/psci_setup.c
@@ -189,9 +189,6 @@ static void psci_init_aff_map_node(unsigned long mpidr,
if (state & PSCI_AFF_PRESENT)
psci_set_state(&psci_aff_map[idx], PSCI_STATE_OFF);
- /* Invalidate the suspend context for the node */
- psci_aff_map[idx].power_state = PSCI_INVALID_DATA;
-
/*
* Associate a non-secure context with this affinity
* instance through the context management library.
@@ -199,6 +196,11 @@ static void psci_init_aff_map_node(unsigned long mpidr,
linear_id = platform_get_core_pos(mpidr);
assert(linear_id < PLATFORM_CORE_COUNT);
+ /* Invalidate the suspend context for the node */
+ set_cpu_data_by_index(linear_id,
+ psci_svc_cpu_data.power_state,
+ PSCI_INVALID_DATA);
+
cm_set_context_by_mpidr(mpidr,
(void *) &psci_ns_context[linear_id],
NON_SECURE);