summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMartin Roth <martinroth@google.com>2017-01-11 10:57:09 -0700
committerNico Huber <nico.h@gmx.de>2017-01-12 18:52:11 +0100
commit3051cd9265b8eb29742a66fc67db083289fa07e5 (patch)
treeabced5e155d68cff087ebc8fa515a734cad48d21 /src
parent3e3b858888d735b45c2868fc50f6de53ca0f868a (diff)
downloadcoreboot-3051cd9265b8eb29742a66fc67db083289fa07e5.tar.gz
coreboot-3051cd9265b8eb29742a66fc67db083289fa07e5.tar.bz2
coreboot-3051cd9265b8eb29742a66fc67db083289fa07e5.zip
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.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/soc/marvell/mvmap2315/reset.c b/src/soc/marvell/mvmap2315/reset.c
index 531f4a0b5038..40067ed7ab7e 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 (;;) ;
}