[flashrom] [PATCH] Avoid scary warning if nothing changed
Michael Karcher
flashrom at mkarcher.dialup.fu-berlin.de
Thu Jun 10 16:33:10 CEST 2010
Am Dienstag, den 01.06.2010, 04:54 +0200 schrieb Carl-Daniel Hailfinger:
> -int read_flash(struct flashchip *flash, char *filename);
> +int read_flash_write_file(struct flashchip *flash, char *filename);
Cumbersome name. Use "read_flash_to_file".
> +int read_flash_write_file(struct flashchip *flash, char *filename)
> +{
> + unsigned long size = flash->total_size * 1024;
> + unsigned char *buf = calloc(size, sizeof(char));
> +
> + msg_cinfo("Reading flash... ");
> + if (!flash->read) {
> + msg_cinfo("FAILED!\n");
> + msg_cerr("ERROR: flashrom has no read function for this flash chip.\n");
> + return 1;
> + }
> + if (flash->read(flash, buf, 0, size))
> + return 1;
I know you didn't change that code. Do we really want no error message
here?
> + return write_buf_to_file(buf, flash->total_size * 1024, filename);
> +}
> +void nonfatal_help_message(void)
> +{
> + msg_gerr("Writing to the flash chip apparently didn't do anything.\n"
"Trying to write to the flash chip..."
> + "This means we have to add special support for your board, "
> + "programmer or flash chip.\n"
> + "Please report this on IRC at irc.freenode.net (channel "
> + "#flashrom) or\n"
> + "mail flashrom at flashrom.org!\n"
> + "-------------------------------------------------------------"
> + "------------------\n"
> + "You may now reboot or simply leave the machine running.\n");
"As nothing changed, powering off or rebooting the machine is not
dangerous".
> - msg_cerr("FAILED!\n");
> + msg_cerr("Uh oh. Write failed. Checking if anything "
> + "changed.\n");
> + /* FIXME: Should we really reuse buf here? */
> + if (!flash->read(flash, buf, 0, size)) {
> + if (!memcmp(oldflashcontents, buf, size)) {
> + msg_cinfo("Good. It seems nothing was "
> + "changed.\n");
> + nonfatal_help_message();
> + programmer_shutdown();
> + return 1;
> + }
> + }
Wait a moment... How can the chip be unmodified after passing an erase
check? Only if it was empty before - no need to panic in that case. I
suggest to remove the "did anything change" check from this piece of
code.
Regards,
Michael Karcjer
More information about the flashrom
mailing list