summaryrefslogtreecommitdiff
path: root/internal.c
diff options
context:
space:
mode:
authorstefanct <stefanct@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1>2012-09-24 21:29:29 +0000
committerstefanct <stefanct@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1>2012-09-24 21:29:29 +0000
commit35ac5c9798288a9e1d56167e737bb9be69d73553 (patch)
tree183ed67b551d6e3c31010bed83cb7e6bc0db2af2 /internal.c
parentfaffbaf71dbcb787d39f95fd0317c2e79117c75e (diff)
downloadflashrom-35ac5c9798288a9e1d56167e737bb9be69d73553.tar.gz
Fix flashrom running on boards with coreboot.
In r1577 we removed the discrimination of coreboot IDs and user-specified mainboards. The problem is that the board enable code required to find a board enable if either of these model strings were set. Therefore boards running coreboot that do not need a board enable failed to execute flashrom since then. This patch fixes this by handling coreboot IDs and user-supplied IDs differently again. Signed-off-by: Stefan Tauner <stefan.tauner@student.tuwien.ac.at> Acked-by: Idwer Vollering <vidwer@gmail.com> git-svn-id: https://code.coreboot.org/svn/flashrom/trunk@1605 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'internal.c')
-rw-r--r--internal.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/internal.c b/internal.c
index d31808d..eda4d59 100644
--- a/internal.c
+++ b/internal.c
@@ -257,12 +257,8 @@ int internal_init(void)
}
#if defined(__i386__) || defined(__x86_64__)
- if (cb_parse_table(&cb_vendor, &cb_model) == 0) { /* coreboot IDs valid */
- /* If no -p internal:mainboard was given but there are valid coreboot IDs then use those. */
- if (board_vendor == NULL || board_model == NULL) {
- board_vendor = cb_vendor;
- board_model = cb_model;
- } else if (strcasecmp(board_vendor, cb_vendor) || strcasecmp(board_model, cb_model)) {
+ if ((cb_parse_table(&cb_vendor, &cb_model) == 0) && (board_vendor != NULL) && (board_model != NULL)) {
+ if (strcasecmp(board_vendor, cb_vendor) || strcasecmp(board_model, cb_model)) {
msg_pinfo("WARNING: The mainboard IDs set by -p internal:mainboard (%s:%s) do not\n"
" match the current coreboot IDs of the mainboard (%s:%s).\n",
board_vendor, board_model, cb_vendor, cb_model);
@@ -339,7 +335,7 @@ int internal_init(void)
init_superio_ite();
#endif
- if (board_flash_enable(board_vendor, board_model)) {
+ if (board_flash_enable(board_vendor, board_model, cb_vendor, cb_model)) {
msg_perr("Aborting to be safe.\n");
return 1;
}