diff --git a/drivers/console/multi_console.c b/drivers/console/multi_console.c index b5ff88b..1ec81c3 100644 --- a/drivers/console/multi_console.c +++ b/drivers/console/multi_console.c @@ -20,8 +20,10 @@ { /* Assert that the struct is not on the stack (common mistake). */ assert((console < stacks_start) || (console >= stacks_end)); - /* Assert that we won't make a circle in the list. */ - assert(!console_is_registered(console)); + + /* Check that we won't make a circle in the list. */ + if (console_is_registered(console) == 1) + return 1; console->next = console_list; console_list = console; diff --git a/plat/arm/common/arm_console.c b/plat/arm/common/arm_console.c index 84886b4..580b2ee 100644 --- a/plat/arm/common/arm_console.c +++ b/plat/arm/common/arm_console.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2018-2019, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -80,9 +80,7 @@ { (void)console_flush(); -#if MULTI_CONSOLE_API - (void)console_unregister(&arm_runtime_console.console); -#else +#if !MULTI_CONSOLE_API console_uninit(); -#endif /* MULTI_CONSOLE_API */ +#endif /* !MULTI_CONSOLE_API */ }