diff --git a/board_enable.c b/board_enable.c
index 5dd7ae1..8f0219e 100644
--- a/board_enable.c
+++ b/board_enable.c
@@ -2407,10 +2407,11 @@
 	{0x8086, 0x7190,      0,      0,  0x8086, 0x7110,      0,      0, "^SE440BX-2$", NULL, NULL,          P3, "Intel",       "SE440BX-2",             0,   NT, intel_piix4_gpo27_lower},
 	{0x1022, 0x7468,      0,      0,  0x1022, 0x7460,      0,      0, NULL,         "iwill", "dk8_htx",   P3, "IWILL",       "DK8-HTX",               0,   OK, w83627hf_gpio24_raise_2e},
 	{0x8086, 0x27A0, 0x8086, 0x27a0,  0x8086, 0x27b8, 0x8086, 0x27b8, NULL,        "kontron", "986lcd-m", P3, "Kontron",     "986LCD-M",              0,   OK, board_kontron_986lcd_m},
+	{0x8086, 0x27a0, 0x17aa, 0x2015,  0x8086, 0x27b9, 0x17aa, 0x2009, "^ThinkPad T60", NULL, NULL,        P2, "Lenovo",      "T60",                   0,   OK, p2_whitelist_laptop},
 	{0x8086, 0x27a0, 0x17aa, 0x2017,  0x8086, 0x27b9, 0x17aa, 0x2009, "^ThinkPad T60", NULL, NULL,        P2, "Lenovo",      "T60(s)",                0,   OK, p2_whitelist_laptop},
 	{0x8086, 0x27a0, 0x17aa, 0x2017,  0x8086, 0x27b9, 0x17aa, 0x2009, "^ThinkPad X60", NULL, NULL,        P2, "Lenovo",      "X60(s)",                0,   OK, p2_whitelist_laptop},
 	{0x8086, 0x2411, 0x8086, 0x2411,  0x8086, 0x7125, 0x0e11, 0xb165, NULL,         NULL, NULL,           P3, "Mitac",       "6513WU",                0,   OK, board_mitac_6513wu},
-	{0x8086, 0x8186, 0x8086, 0x8186,  0x8086, 0x8800, 0x0000, 0x0000, "^MSC Vertriebs GmbH$", NULL, NULL, P2, "MSC",         "Q7-TCTC",               0,   OK, p2_not_a_laptop},
+	{0x8086, 0x8186, 0x8086, 0x8186,  0x8086, 0x8800,      0,      0, "^MSC Vertriebs GmbH$", NULL, NULL, P2, "MSC",         "Q7-TCTC",               0,   OK, p2_not_a_laptop},
 	{0x10DE, 0x005E, 0x1462, 0x7125,  0x10DE, 0x0052, 0x1462, 0x7125, NULL,         NULL, NULL,           P3, "MSI",         "K8N Neo4-F",            0,   OK, nvidia_mcp_gpio2_raise}, /* TODO: Should probably be K8N Neo4 Platinum, see http://www.coreboot.org/pipermail/flashrom/2010-August/004362.html. */
 	{0x8086, 0x7190,      0,      0,  0x8086, 0x7110,      0,      0, "^MS-6163 (i440BX)$", NULL, NULL,   P3, "MSI",         "MS-6163 (MS-6163 Pro)", 0,   OK, intel_piix4_gpo14_raise},
 	{0x1039, 0x0745,      0,      0,  0x1039, 0x0018,      0,      0, "^MS-6561",   NULL, NULL,           P3, "MSI",         "MS-6561 (745 Ultra)",   0,   OK, w836xx_memw_enable_2e},
diff --git a/chipset_enable.c b/chipset_enable.c
index 0873b4e..267008c 100644
--- a/chipset_enable.c
+++ b/chipset_enable.c
@@ -1406,7 +1406,7 @@
 	{0x8086, 0x1c5c, OK, "Intel", "H61",		enable_flash_pch6},
 	{0x8086, 0x1d40, OK, "Intel", "X79",		enable_flash_pch6},
 	{0x8086, 0x1d41, OK, "Intel", "X79",		enable_flash_pch6},
-	{0x8086, 0x1e44, NT, "Intel", "Z77",		enable_flash_pch7},
+	{0x8086, 0x1e44, OK, "Intel", "Z77",		enable_flash_pch7},
 	{0x8086, 0x1e46, NT, "Intel", "Z75",		enable_flash_pch7},
 	{0x8086, 0x1e47, NT, "Intel", "Q77",		enable_flash_pch7},
 	{0x8086, 0x1e48, NT, "Intel", "Q75",		enable_flash_pch7},
diff --git a/flashchips.c b/flashchips.c
index 4e09ab1..e1a0c42 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -954,7 +954,7 @@
 			}, {
 				.eraseblocks = { { 64 * 1024, 1 } },
 				.block_erase = spi_block_erase_c7,
-			}			
+			}
 		},
 		.printlock	= spi_prettyprint_status_register_amic_a25l40p,
 		.unlock		= spi_disable_blockprotect,
@@ -986,7 +986,7 @@
 			}, {
 				.eraseblocks = { { 128 * 1024, 1 } },
 				.block_erase = spi_block_erase_c7,
-			}			
+			}
 		},
 		.printlock	= spi_prettyprint_status_register_amic_a25l40p,
 		.unlock		= spi_disable_blockprotect,
@@ -1018,7 +1018,7 @@
 			}, {
 				.eraseblocks = { { 256 * 1024, 1 } },
 				.block_erase = spi_block_erase_c7,
-			}			
+			}
 		},
 		.printlock	= spi_prettyprint_status_register_amic_a25l40p,
 		.unlock		= spi_disable_blockprotect,
@@ -1050,7 +1050,7 @@
 			}, {
 				.eraseblocks = { { 512 * 1024, 1 } },
 				.block_erase = spi_block_erase_c7,
-			}			
+			}
 		},
 		.printlock	= spi_prettyprint_status_register_amic_a25l40p,
 		.unlock		= spi_disable_blockprotect,
@@ -1082,7 +1082,7 @@
 			}, {
 				.eraseblocks = { { 1024 * 1024, 1 } },
 				.block_erase = spi_block_erase_c7,
-			}			
+			}
 		},
 		.printlock	= spi_prettyprint_status_register_amic_a25l40p,
 		.unlock		= spi_disable_blockprotect,
@@ -1114,7 +1114,7 @@
 			}, {
 				.eraseblocks = { { 2048 * 1024, 1 } },
 				.block_erase = spi_block_erase_c7,
-			}			
+			}
 		},
 		.printlock	= spi_prettyprint_status_register_amic_a25l40p,
 		.unlock		= spi_disable_blockprotect,
@@ -1153,7 +1153,7 @@
 			}, {
 				.eraseblocks = { { 4096 * 1024, 1 } },
 				.block_erase = spi_block_erase_c7,
-			}			
+			}
 		},
 		.printlock	= spi_prettyprint_status_register_amic_a25l032,
 		.unlock		= NULL, /* Two status reg bytes (read with 0x35 and 0x05) */
@@ -1192,7 +1192,7 @@
 			}, {
 				.eraseblocks = { { 4096 * 1024, 1 } },
 				.block_erase = spi_block_erase_c7,
-			}			
+			}
 		},
 		.printlock	= spi_prettyprint_status_register_amic_a25lq032,
 		.unlock		= NULL, /* Two status reg bytes (read with 0x35 and 0x05) */
@@ -3413,11 +3413,11 @@
 		.name		= "EN25F64",
 		.bustype	= BUS_SPI,
 		.manufacture_id	= EON_ID_NOPREFIX,
-		.model_id	= EON_EN25F32,
+		.model_id	= EON_EN25F64,
 		.total_size	= 8192,
 		.page_size	= 256,
 		.feature_bits	= FEATURE_WRSR_WREN,
-		.tested		= TEST_UNTESTED,
+		.tested		= TEST_OK_PR,
 		.probe		= probe_spi_rdid,
 		.probe_timing	= TIMING_ZERO,
 		.block_erasers	=
@@ -4680,7 +4680,7 @@
 		.total_size	= 128,
 		.page_size	= 256,
 		.feature_bits	= FEATURE_WRSR_WREN,
-		.tested		= TEST_UNTESTED,
+		.tested		= TEST_OK_PREW,
 		.probe		= probe_spi_rdid,
 		.probe_timing	= TIMING_ZERO,
 		.block_erasers	=
@@ -7053,7 +7053,7 @@
 		.total_size	= 64,
 		.page_size	= 4096,
 		.feature_bits	= FEATURE_EITHER_RESET,
-		.tested		= TEST_OK_PRE,
+		.tested		= TEST_OK_PREW,
 		.probe		= probe_jedec,
 		.probe_timing	= 1,			/* 150 ns */
 		.block_erasers	=
diff --git a/flashrom.c b/flashrom.c
index a887e3b..7d1ffa3 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -1086,7 +1086,8 @@
 		return 1;
 	}
 	if (image_stat.st_size != size) {
-		msg_gerr("Error: Image size doesn't match\n");
+		msg_gerr("Error: Image size (%ld B) doesn't match the flash chip's size (%ld B)!\n",
+			 image_stat.st_size, size);
 		fclose(image);
 		return 1;
 	}
diff --git a/ft2232_spi.c b/ft2232_spi.c
index 31a6c5c..c09405e 100644
--- a/ft2232_spi.c
+++ b/ft2232_spi.c
@@ -271,11 +271,11 @@
 			channel_count = -1;
 			break;
 		}
-	}
-	if (channel_count < 0 || strlen(arg) != 1) {
-		msg_perr("Error: Invalid channel/port/interface specified: \"%s\".\n", arg);
-		free(arg);
-		return -2;
+		if (channel_count < 0 || strlen(arg) != 1) {
+			msg_perr("Error: Invalid channel/port/interface specified: \"%s\".\n", arg);
+			free(arg);
+			return -2;
+		}
 	}
 	free(arg);
 
diff --git a/ichspi.c b/ichspi.c
index 8dd1893..fadfe62 100644
--- a/ichspi.c
+++ b/ichspi.c
@@ -1675,11 +1675,9 @@
 		if (tmp2 & HSFS_FDV)
 			desc_valid = 1;
 		if (!(tmp2 & HSFS_FDOPSS) && desc_valid)
-			msg_pinfo("The Flash Descriptor Security Override "
-				  "Strap-Pin is set. Restrictions implied\n"
-				  "by the FRAP and FREG registers are NOT in "
-				  "effect. Please note that Protected\n"
-				  "Range (PR) restrictions still apply.\n");
+			msg_pinfo("The Flash Descriptor Override Strap-Pin is set. Restrictions implied by\n"
+				  "the Master Section of the flash descriptor are NOT in effect. Please note\n"
+				  "that Protected Range (PR) restrictions still apply.\n");
 		ich_init_opcodes();
 
 		if (desc_valid) {
@@ -1720,15 +1718,13 @@
 				  "yet.\n");
 			if (!ich_spi_force)
 				programmer_may_write = 0;
-			msg_pinfo("Writes have been disabled. You can enforce "
-				  "write support with the\nich_spi_force "
-				  "programmer option, but it will most likely "
-				  "harm your hardware!\nIf you force flashrom "
-				  "you will get no support if something "
-				  "breaks.\n");
+			msg_pinfo("Writes have been disabled for safety reasons. You can enforce write\n"
+				  "support with the ich_spi_force programmer option, but you will most likely\n"
+				  "harm your hardware! If you force flashrom you will get no support if\n"
+				  "something breaks. On a few mainboards it is possible to enable write\n"
+				  "access by setting a jumper (see its documentation or the board itself).\n");
 			if (ich_spi_force)
-				msg_pinfo("Continuing with write support "
-					  "because the user forced us to!\n");
+				msg_pinfo("Continuing with write support because the user forced us to!\n");
 		}
 
 		tmp = mmio_readl(ich_spibar + ICH9_REG_SSFS);
diff --git a/nicrealtek.c b/nicrealtek.c
index 779d023..92f48a8 100644
--- a/nicrealtek.c
+++ b/nicrealtek.c
@@ -60,6 +60,14 @@
 
 int nicrealtek_init(void)
 {
+	if (rget_io_perms())
+		return 1;
+
+	io_base_addr = pcidev_init(PCI_BASE_ADDRESS_0, nics_realtek);
+
+	if (register_shutdown(nicrealtek_shutdown, NULL))
+		return 1;
+
 	/* Beware, this ignores the vendor ID! */
 	switch (pcidev_dev->device_id) {
 	case 0x8139: /* RTL8139 */
@@ -74,14 +82,6 @@
 		break;
 	}
 
-	if (rget_io_perms())
-		return 1;
-
-	io_base_addr = pcidev_init(PCI_BASE_ADDRESS_0, nics_realtek);
-
-	if (register_shutdown(nicrealtek_shutdown, NULL))
-		return 1;
-
 	register_par_programmer(&par_programmer_nicrealtek, BUS_PARALLEL);
 
 	return 0;
diff --git a/print.c b/print.c
index eb99c07..bca861a 100644
--- a/print.c
+++ b/print.c
@@ -795,6 +795,7 @@
 	B("Foxconn",	"6150K8MD-8EKRSH",	OK, "http://www.foxconnchannel.com/ProductDetail.aspx?T=Motherboard&U=en-us0000157", NULL),
 	B("Foxconn",	"A6VMX",		OK, "http://www.foxconnchannel.com/ProductDetail.aspx?T=Motherboard&U=en-us0000346", NULL),
 	B("Foxconn",	"P4M800P7MA-RS2",	OK, "http://www.foxconnchannel.com/ProductDetail.aspx?T=Motherboard&U=en-us0000138", NULL),
+	B("Foxconn",	"P55MX",		OK, "http://www.foxconnchannel.com/ProductDetail.aspx?T=motherboard&U=en-us0000474", "Needs the MFG jumper to be set correctly before flashing to enable the Flash Descriptor Override Strap."),
 	B("Freetech",	"P6F91i",		OK, "http://web.archive.org/web/20010417035034/http://www.freetech.com/prod/P6F91i.html", NULL),
 	B("Foxconn",	"Q45M",			BAD, "http://www.foxconnchannel.com/ProductDetail.aspx?T=Motherboard&U=en-us0000587", "Probing works (Hardware sequencing, 4096 kB, SPI), but parts of the flash are problematic: descriptor is r/o (conforming to ICH reqs), ME is locked."),
 	B("Fujitsu-Siemens", "ESPRIMO P5915",	OK, "http://uk.ts.fujitsu.com/rl/servicesupport/techsupport/professionalpc/ESPRIMO/P/EsprimoP5915-6.htm", "Mainboard model is D2312-A2."),
diff --git a/serprog.c b/serprog.c
index b179ea4..854cb93 100644
--- a/serprog.c
+++ b/serprog.c
@@ -877,8 +877,7 @@
 	unsigned char buf[4];
 	msg_pspew("%s usecs=%d\n", __func__, usecs);
 	if (!sp_check_commandavail(S_CMD_O_DELAY)) {
-		msg_pdbg("Note: serprog_delay used, but the programmer doesn't "
-			 "support delay\n");
+		msg_pdbg2("serprog_delay used, but programmer doesn't support delays natively - emulating\n");
 		internal_delay(usecs);
 		return;
 	}
