diff options
author | Martin Roth <martinroth@google.com> | 2017-01-11 10:57:09 -0700 |
---|---|---|
committer | Nico Huber <nico.h@gmx.de> | 2017-01-12 18:52:11 +0100 |
commit | 3051cd9265b8eb29742a66fc67db083289fa07e5 (patch) | |
tree | abced5e155d68cff087ebc8fa515a734cad48d21 /src | |
parent | 3e3b858888d735b45c2868fc50f6de53ca0f868a (diff) | |
download | coreboot-3051cd9265b8eb29742a66fc67db083289fa07e5.tar.xz |
soc/marvell/mvmap2315: Mark mvmap2315_reset() as noreturn
mvmap2315_reset() is called from locations where we're checking for NULL
pointers. Because coverity can't tell from the code that the functions
are not returning, it's showing errors of accessing pointers after
we've determined that they're invalid.
Mark it as noreturn, and add a loop in case the reset isn't on the
next instruction. This probably isn't needed, but shouldn't hurt.
Found-by: Coverity Scan #1362809
Change-Id: If93084629d5c2c8dc232558f2559b78b1ca5de7c
Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://review.coreboot.org/18103
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'src')
-rw-r--r-- | src/soc/marvell/mvmap2315/reset.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/soc/marvell/mvmap2315/reset.c b/src/soc/marvell/mvmap2315/reset.c index 531f4a0b50..40067ed7ab 100644 --- a/src/soc/marvell/mvmap2315/reset.c +++ b/src/soc/marvell/mvmap2315/reset.c @@ -21,8 +21,9 @@ #include <soc/clock.h> #include <soc/reset.h> -void mvmap2315_reset(void) +void __attribute__((noreturn)) mvmap2315_reset(void) { clrbits_le32(&mvmap2315_mpmu_clk->resetmcu, MVMAP2315_MCU_RST_EN); clrbits_le32(&mvmap2315_mpmu_clk->resetap, MVMAP2315_AP_RST_EN); + for (;;) ; } |