mirror of
https://review.coreboot.org/flashrom.git
synced 2025-07-01 14:11:15 +02:00
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. Corresponding to flashrom svn r1605. Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> Acked-by: Idwer Vollering <vidwer@gmail.com>
This commit is contained in:
10
internal.c
10
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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user