Kyösti Mälkki has submitted this change. ( https://review.coreboot.org/c/coreboot/+/38171 )
Change subject: drivers/spi/flashconsole: Fix shadowing local variable ......................................................................
drivers/spi/flashconsole: Fix shadowing local variable
Commit c9b13594eb8d425e54a126b5c10e3f6fbc41528b removed the g_ prefix from global variables, leaving the local "offset" variable shadowing the global one. This commit partially reverts this by renaming one of the occations and converting the flushing logic to work on the global object.
Change-Id: I246ebdcfd3b973e6a4aa3c15fc5f32497dcf8398 Signed-off-by: Johanna Schander coreboot@mimoja.de Reviewed-on: https://review.coreboot.org/c/coreboot/+/38171 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: HAOUAS Elyes ehaouas@noos.fr Reviewed-by: Patrick Rudolph siro@das-labor.org Reviewed-by: Kyösti Mälkki kyosti.malkki@gmail.com --- M src/drivers/spi/flashconsole.c 1 file changed, 8 insertions(+), 9 deletions(-)
Approvals: build bot (Jenkins): Verified Kyösti Mälkki: Looks good to me, approved HAOUAS Elyes: Looks good to me, but someone else must approve Patrick Rudolph: Looks good to me, approved
diff --git a/src/drivers/spi/flashconsole.c b/src/drivers/spi/flashconsole.c index 80c63e0..2216e7d 100644 --- a/src/drivers/spi/flashconsole.c +++ b/src/drivers/spi/flashconsole.c @@ -32,7 +32,7 @@ { uint8_t buffer[READ_BUFFER_SIZE]; size_t size; - size_t offset = 0; + size_t initial_offset = 0; size_t len = READ_BUFFER_SIZE; size_t i;
@@ -52,30 +52,30 @@ * the sector is already erased, so we would need to read * anyways to check if it's all 0xff). */ - for (i = 0; i < len && offset < size;) { + for (i = 0; i < len && initial_offset < size;) { // Fill the buffer on first iteration if (i == 0) { len = MIN(READ_BUFFER_SIZE, size - offset); - if (rdev_readat(&rdev, buffer, offset, len) != len) + if (rdev_readat(&rdev, buffer, initial_offset, len) != len) return; } if (buffer[i] == 0xff) { - offset += i; + initial_offset += i; break; } // If we're done, repeat the process for the next sector if (++i == READ_BUFFER_SIZE) { - offset += len; + initial_offset += len; i = 0; } } // Make sure there is still space left on the console - if (offset >= size) { + if (initial_offset >= size) { printk(BIOS_INFO, "No space left on 'console' region in SPI flash\n"); return; }
- offset = offset; + offset = initial_offset; rdev_ptr = &rdev; }
@@ -96,7 +96,6 @@
void flashconsole_tx_flush(void) { - size_t offset = offset; size_t len = line_offset; size_t region_size; static int busy; @@ -122,7 +121,7 @@ if (offset + len >= region_size) return;
- offset = offset + len; + offset += len; line_offset = 0;
busy = 0;