From ad470347fdf7da1da2b690c4ae0579b09b879bfa Mon Sep 17 00:00:00 2001 From: Tadas Slotkus Date: Sat, 3 Sep 2011 17:15:00 +0000 Subject: Introduce ERROR_FATAL, abort upon failed chipset enables Corresponding to flashrom svn r1426. Signed-off-by: Tadas Slotkus Acked-by: Uwe Hermann --- chipset_enable.c | 4 ++++ flash.h | 5 ++++- internal.c | 3 ++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/chipset_enable.c b/chipset_enable.c index eb4031b..21f2e86 100644 --- a/chipset_enable.c +++ b/chipset_enable.c @@ -1325,6 +1325,10 @@ int chipset_flash_enable(void) msg_pinfo("OK.\n"); else if (ret == ERROR_NONFATAL) msg_pinfo("PROBLEMS, continuing anyway\n"); + if (ret == ERROR_FATAL) { + msg_perr("FATAL ERROR!\n"); + return ret; + } } s = flashbuses_to_text(buses_supported); diff --git a/flash.h b/flash.h index 3d47a16..535c1b8 100644 --- a/flash.h +++ b/flash.h @@ -224,9 +224,12 @@ int write_buf_to_file(unsigned char *buf, unsigned long size, const char *filena #define OK 0 #define NT 1 /* Not tested */ -/* Something happened that shouldn't happen, but we can go on */ +/* Something happened that shouldn't happen, but we can go on. */ #define ERROR_NONFATAL 0x100 +/* Something happened that shouldn't happen, we'll abort. */ +#define ERROR_FATAL -0xee + /* cli_output.c */ /* Let gcc and clang check for correct printf-style format strings. */ int print(int type, const char *fmt, ...) __attribute__((format(printf, 2, 3))); diff --git a/internal.c b/internal.c index 846cf1e..46836b7 100644 --- a/internal.c +++ b/internal.c @@ -268,7 +268,8 @@ int internal_init(void) if (ret == -2) { msg_perr("WARNING: No chipset found. Flash detection " "will most likely fail.\n"); - } + } else if (ret == ERROR_FATAL) + return ret; #if defined(__i386__) || defined(__x86_64__) /* Probe unconditionally for IT87* LPC->SPI translation and for -- cgit v1.1