Omitting the wait for SPI ready when there is no data to be read, e.g

readcnt==0 saves 10 seconds with the unconditional 10us delay, reducing
programming time for SST25VF016B to 40-45 secs.

Corresponding to flashrom svn r183 and coreboot v2 svn r3068.

Signed-off-by: Ronald Hoogenboom <hoogenboom30@zonnet.nl>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
diff --git a/spi.c b/spi.c
index 20e8828..4c01b31 100644
--- a/spi.c
+++ b/spi.c
@@ -227,12 +227,15 @@
 	 * We can't use writecnt directly, but have to use a strange encoding.
 	 */ 
 	outb(((0x4 + (fast_spi ? 1 : 0)) << 4) | ((readcnt & 0x3) << 2) | (writeenc), port);
-	do {
-		busy = inb(port) & 0x80;
-	} while (busy);
 
-	for (i = 0; i < readcnt; i++) {
-		readarr[i] = inb(port + 5 + i);
+	if (readcnt > 0) {
+		do {
+			busy = inb(port) & 0x80;
+		} while (busy);
+
+		for (i = 0; i < readcnt; i++) {
+			readarr[i] = inb(port + 5 + i);
+		}
 	}
 
 	return 0;