Instead of checking the first byte only, the whole part is checked now

This

Corresponding to flashrom svn r71 and coreboot v2 svn r2494.

will detect any improper erase, closes #31
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de> 
diff --git a/sst_fwhub.c b/sst_fwhub.c
index e835a1a..8b62e7f 100644
--- a/sst_fwhub.c
+++ b/sst_fwhub.c
@@ -95,14 +95,17 @@
 	    flash->page_size;
 	volatile uint8_t *bios = flash->virt_addr;
 
-	// Do we want block wide erase?
+	// FIXME: We want block wide erase instead of ironing the whole chip
 	erase_sst_fwhub(flash);
 	
-	// FIXME: This test is not sufficient!
-	if (*bios != 0xff) {
-		printf("ERASE FAILED\n");
-		return -1;
+	// dumb check if erase was successful.
+	for (i=0; i < total_size; i++) {
+		if (bios[i] != 0xff) {
+			printf("ERASE FAILED\n");
+			return -1;
+		}
 	}
+
 	printf("Programming Page: ");
 	for (i = 0; i < total_size / page_size; i++) {
 		printf("%04d at address: 0x%08x", i, i * page_size);