Only write back emulated image if modified

When the image is not modified, there is no point in writing it back.
In fact we may not have file permissions to do so.

BUG=none
BRANCH=none
TEST=manual
Try reading and writing flash in a file that we don't have access to:

$ ls -l /build/peach_pit/firmware/image-peach-pit.bin
-rw-r--r-- 1 root root 4194304 Jul 10 21:01 /build/peach_pit/firmware/image-peach-pit.bin
$ /usr/sbin/\flashrom -p dummy:emulate=VARIABLE_SIZE,size=auto,image=/build/peach_pit/firmware/image-peach-pit.bin --ignore-lock -r all
flashrom v0.9.4  :  :  on Linux 3.2.5-gg1236 (x86_64), built with libpci 3.1.10, GCC 4.7.x-google 20130114 (prerelease), little endian
Reading flash... SUCCESS
$ /usr/sbin/\flashrom -p dummy:emulate=VARIABLE_SIZE,size=auto,image=/build/peach_pit/firmware/image-peach-pit.bin --ignore-lock -w all
flashrom v0.9.4  :  :  on Linux 3.2.5-gg1236 (x86_64), built with libpci 3.1.10, GCC 4.7.x-google 20130114 (prerelease), little endian
Erasing and writing flash chip... Verifying flash... VERIFIED.
SUCCESS

Now edit the file (change a few bytes):

/usr/sbin/\flashrom -p dummy:emulate=VARIABLE_SIZE,size=auto,image=/build/peach_pit/firmware/image-peach-pit.bin --ignore-lock -w all
flashrom v0.9.4  :  :  on Linux 3.2.5-gg1236 (x86_64), built with libpci 3.1.10, GCC 4.7.x-google 20130114 (prerelease), little endian
Erasing and writing flash chip... Verifying flash... VERIFIED.
SUCCESS
/build/peach_pit/firmware/image-peach-pit.bin: Permission denied

(flashrom tries to write it back and fails)

Change-Id: If1e027e5d164312b44b18e8d7c0787879e8d7b99
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/61533
Reviewed-by: David Hendricks <dhendrix@chromium.org>
1 file changed