[flashrom] [commit] r1510 - trunk

repository service svn at flashrom.org
Mon Feb 27 20:44:17 CET 2012


Author: stefanct
Date: Mon Feb 27 20:44:16 2012
New Revision: 1510
URL: http://flashrom.org/trac/flashrom/changeset/1510

Log:
nicintel_spi.c: check if write enable is really set (and minor comment changes).

Signed-off-by: Stefan Tauner <stefan.tauner at student.tuwien.ac.at>
Acked-by: Idwer Vollering <vidwer at gmail.com>

Modified:
   trunk/nicintel_spi.c

Modified: trunk/nicintel_spi.c
==============================================================================
--- trunk/nicintel_spi.c	Sun Feb 26 00:40:16 2012	(r1509)
+++ trunk/nicintel_spi.c	Mon Feb 27 20:44:16 2012	(r1510)
@@ -31,12 +31,15 @@
 
 #define PCI_VENDOR_ID_INTEL 0x8086
 
+/* EEPROM/Flash Control & Data Register */
 #define EECD	0x10
+/* Flash Access Register */
 #define FLA	0x1c
 
 /*
  * Register bits of EECD.
- * 
+ * Table 13-6
+ *
  * Bit 04, 05: FWE (Flash Write Enable Control)
  * 00b = not allowed
  * 01b = flash writes disabled
@@ -46,8 +49,9 @@
 #define FLASH_WRITES_DISABLED	0x10 /* FWE: 10000b */
 #define FLASH_WRITES_ENABLED	0x20 /* FWE: 100000b */
 
-/* Flash Access register bits */
-/* Table 13-9 */
+/* Flash Access register bits
+ * Table 13-9
+ */
 #define FL_SCK	0
 #define FL_CS	1
 #define FL_SI	2
@@ -179,6 +183,13 @@
 	tmp |= FLASH_WRITES_ENABLED;
 	pci_mmio_writel(tmp, nicintel_spibar + EECD);
 
+	/* test if FWE is really set to allow writes */
+	tmp = pci_mmio_readl(nicintel_spibar + EECD);
+	if ( (tmp & FLASH_WRITES_DISABLED) || !(tmp & FLASH_WRITES_ENABLED) ) {
+		msg_perr("Enabling flash write access failed.\n");
+		return 1;
+	}
+
 	if (register_shutdown(nicintel_spi_shutdown, NULL))
 		return 1;
 




More information about the flashrom mailing list