Add a bunch of new/tested stuff and various small changes 4

- add Asus E35M1-I DELUXE to boards_known
  http://www.flashrom.org/pipermail/flashrom/2011-June/006918.html
- add Asus M3A to boards_known
  http://www.flashrom.org/pipermail/flashrom/2011-July/007085.html
- add Freetech P6F91i to boards_known
  http://www.flashrom.org/pipermail/flashrom/2011-June/006800.html
- add GA-M720-US3 to boards_known
  http://www.flashrom.org/pipermail/flashrom/2011-July/007096.html
- add GA-MA770-UD3 (rev. 2.1) to boards_known
  http://www.flashrom.org/pipermail/flashrom/2011-June/006879.html
- add GA-965GM-S2 to boards_known
  http://www.flashrom.org/pipermail/flashrom/2011-June/006746.html
- add HP xw4400 (0A68h) to boards_known
  http://paste.flashrom.org/view.php?id=686
- add MSI MS-6566 (845 Ultra-C) to boards_known
  http://www.flashrom.org/pipermail/flashrom/2011-June/006908.html
- add MSI MS-7698 (E350IA-E45) to boards_known
  http://www.flashrom.org/pipermail/flashrom/2011-June/007003.html
- add PCCHIPS M863G (V5.1A) to boards_known
  http://www.flashrom.org/pipermail/flashrom/2011-July/007084.html

- modify the X8SIE entry in boards_known with the information from "fuzzy"
  http://paste.flashrom.org/view.php?id=669

- mark W29C020(C)/W29C022 as fully tested
  http://www.flashrom.org/pipermail/flashrom/2011-June/006800.html
- mark W49V002A as fully tested
  http://www.flashrom.org/pipermail/flashrom/2011-July/007084.html
- mark M25P128 as fully tested
  http://www.flashrom.org/pipermail/flashrom/2011-June/006843.html
- mark SST39SF010A as fully tested
  http://www.flashrom.org/pipermail/flashrom/2011-July/007115.html

- correct entries for GA-K8NS Pro-939 (was ultra before. thanks uwe!)
- another tiny fix for "a small fix"/r1321
  Without this you will get broken bus names "Unknow" and "Non-SP".
  Note to self: don't self-ack even fairly trivial patches.
- fix spew output of spi_rems in spi25.c
- add URL to ASUS M3A76-CM
- rename all Winbond W25x chips to W25X
- fixes some common misspellings/typos in comments:
  lenght->length              2
  ocassional->occasional      1
  unsucessfull->unsuccessful  1
  upto->up to                 5

Corresponding to flashrom svn r1367.

the patch for M25P128 is
Signed-off-by: Cristian Măgherușan-Stanciu <cristi.magherusan@gmail.com>

the typos are
Signed-off-by: Peter Huewe <peterhuewe@gmx.de>

everything else is
Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
diff --git a/board_enable.c b/board_enable.c
index 3f38254..2a3e281 100644
--- a/board_enable.c
+++ b/board_enable.c
@@ -986,7 +986,7 @@
 
 /*
  * Suited for:
- *  - Gigabyte GA-K8NS Pro-939: Socket 939 + NVIDIA nForce3  + CK8
+ *  - GIGABYTE GA-K8NS Pro-939: Socket 939 + NVIDIA nForce3  + CK8
  */
 static int nvidia_mcp_gpio0a_raise(void)
 {
diff --git a/buspirate_spi.c b/buspirate_spi.c
index 3b9f487..f872309 100644
--- a/buspirate_spi.c
+++ b/buspirate_spi.c
@@ -203,7 +203,7 @@
 	 * sufficient either. Use a 1.5 ms delay inside the loop to make
 	 * mostly sure that at least one USB frame had time to arrive.
 	 * Looping only 5 times is not sufficient and causes the
-	 * ocassional failure.
+	 * occasional failure.
 	 * Folding the delay into the loop above is not reliable either.
 	 */
 	for (i = 0; i < 10; i++) {
diff --git a/dmi.c b/dmi.c
index cda6656..836b38b 100644
--- a/dmi.c
+++ b/dmi.c
@@ -119,7 +119,7 @@
 	while (!feof(dmidecode_pipe))
 		getc(dmidecode_pipe);
 	if (pclose(dmidecode_pipe) != 0) {
-		msg_pinfo("dmidecode execution unsucessfull - continuing "
+		msg_pinfo("dmidecode execution unsuccessful - continuing "
 			"without DMI info\n");
 		return NULL;
 	}
diff --git a/flashchips.c b/flashchips.c
index 865ba2f..1b5c88a 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -5771,7 +5771,7 @@
 		.total_size	= 128,
 		.page_size	= 4096,
 		.feature_bits	= FEATURE_EITHER_RESET,
-		.tested		= TEST_OK_PR,
+		.tested		= TEST_OK_PREW,
 		.probe		= probe_jedec,
 		.probe_timing	= 1,			/* 150 ns */
 		.block_erasers	=
@@ -6705,7 +6705,7 @@
 		.model_id	= ST_M25P128,
 		.total_size	= 16384,
 		.page_size	= 256,
-		.tested		= TEST_UNTESTED,
+		.tested		= TEST_OK_PREW,
 		.probe		= probe_spi_rdid,
 		.probe_timing	= TIMING_ZERO,
 		.block_erasers	=
@@ -7776,7 +7776,7 @@
 
 	{
 		.vendor		= "Winbond",
-		.name		= "W25x10",
+		.name		= "W25X10",
 		.bustype	= CHIP_BUSTYPE_SPI,
 		.manufacture_id	= WINBOND_NEX_ID,
 		.model_id	= WINBOND_NEX_W25X10,
@@ -7807,7 +7807,7 @@
 
 	{
 		.vendor		= "Winbond",
-		.name		= "W25x20",
+		.name		= "W25X20",
 		.bustype	= CHIP_BUSTYPE_SPI,
 		.manufacture_id	= WINBOND_NEX_ID,
 		.model_id	= WINBOND_NEX_W25X20,
@@ -7838,7 +7838,7 @@
 
 	{
 		.vendor		= "Winbond",
-		.name		= "W25x40",
+		.name		= "W25X40",
 		.bustype	= CHIP_BUSTYPE_SPI,
 		.manufacture_id	= WINBOND_NEX_ID,
 		.model_id	= WINBOND_NEX_W25X40,
@@ -7869,7 +7869,7 @@
 
 	{
 		.vendor		= "Winbond",
-		.name		= "W25x80",
+		.name		= "W25X80",
 		.bustype	= CHIP_BUSTYPE_SPI,
 		.manufacture_id	= WINBOND_NEX_ID,
 		.model_id	= WINBOND_NEX_W25X80,
@@ -7900,7 +7900,7 @@
 
 	{
 		.vendor		= "Winbond",
-		.name		= "W25x16",
+		.name		= "W25X16",
 		.bustype	= CHIP_BUSTYPE_SPI,
 		.manufacture_id	= WINBOND_NEX_ID,
 		.model_id	= WINBOND_NEX_W25X16,
@@ -7937,7 +7937,7 @@
 
 	{
 		.vendor		= "Winbond",
-		.name		= "W25x32",
+		.name		= "W25X32",
 		.bustype	= CHIP_BUSTYPE_SPI,
 		.manufacture_id	= WINBOND_NEX_ID,
 		.model_id	= WINBOND_NEX_W25X32,
@@ -7974,7 +7974,7 @@
 
 	{
 		.vendor		= "Winbond",
-		.name		= "W25x64",
+		.name		= "W25X64",
 		.bustype	= CHIP_BUSTYPE_SPI,
 		.manufacture_id	= WINBOND_NEX_ID,
 		.model_id	= WINBOND_NEX_W25X64,
@@ -8041,9 +8041,9 @@
 		.total_size	= 256,
 		.page_size	= 128,
 		.feature_bits	= FEATURE_LONG_RESET,
-		.tested		= TEST_OK_PRE,
+		.tested		= TEST_OK_PREW,
 		.probe		= probe_jedec,
-		.probe_timing	= 10, 
+		.probe_timing	= 10,
 		.block_erasers	=
 		{
 			{
@@ -8397,9 +8397,9 @@
 		.total_size	= 256,
 		.page_size	= 128,
 		.feature_bits	= FEATURE_EITHER_RESET,
-		.tested		= TEST_OK_PRE,
+		.tested		= TEST_OK_PREW,
 		.probe		= probe_jedec,
-		.probe_timing	= 10, 
+		.probe_timing	= 10,
 		.block_erasers	=
 		{
 			{
diff --git a/print.c b/print.c
index b9f7a43..9957ae9 100644
--- a/print.c
+++ b/print.c
@@ -34,13 +34,13 @@
 {
 	char *ret = calloc(1, 1);
 	if (bustype == CHIP_BUSTYPE_UNKNOWN) {
-		ret = strcat_realloc(ret, "Unknown,");
+		ret = strcat_realloc(ret, "Unknown, ");
 	/*
 	 * FIXME: Once all chipsets and flash chips have been updated, NONSPI
 	 * will cease to exist and should be eliminated here as well.
 	 */
 	} else if (bustype == CHIP_BUSTYPE_NONSPI) {
-		ret = strcat_realloc(ret, "Non-SPI,");
+		ret = strcat_realloc(ret, "Non-SPI, ");
 	} else {
 		if (bustype & CHIP_BUSTYPE_PARALLEL)
 			ret = strcat_realloc(ret, "Parallel, ");
@@ -431,6 +431,7 @@
 	B("ASUS",	"A8V Deluxe",		1, "http://www.asus.com/product.aspx?P_ID=tvpdgPNCPaABZRVU", NULL),
 	B("ASUS",	"A8V-E Deluxe",		1, "http://www.asus.com/product.aspx?P_ID=hQBPIJWEZnnGAZEh", NULL),
 	B("ASUS",	"A8V-E SE",		1, "http://www.asus.com/product.aspx?P_ID=VMfiJJRYTHM4gXIi", "See http://www.coreboot.org/pipermail/coreboot/2007-October/026496.html"),
+	B("ASUS",	"E35M1-I DELUXE",	1, "http://www.asus.com/product.aspx?P_ID=9BmKhMwWCwqyl1lz", NULL),
 	B("ASUS",	"K8V",			1, "http://www.asus.com/product.aspx?P_ID=fG2KZOWF7v6MRFRm", NULL),
 	B("ASUS",	"K8V SE Deluxe",	1, "http://www.asus.com/product.aspx?P_ID=65HeDI8XM1u6Uy6o", NULL),
 	B("ASUS",	"K8V-X SE",		1, "http://www.asus.com/product.aspx?P_ID=lzDXlbBVHkdckHVr", NULL),
@@ -443,7 +444,8 @@
 	B("ASUS",	"M2NPV-VM",		1, "http://www.asus.com/product.aspx?P_ID=HGTVnGv5nGahCYgK", NULL),
 	B("ASUS",	"M2V",			1, "http://www.asus.com/product.aspx?P_ID=OqYlEDFfF6ZqZGvp", NULL),
 	B("ASUS",	"M2V-MX",		1, "http://www.asus.com/product.aspx?P_ID=7grf8Ci4yxnqzt3z", NULL),
-	B("ASUS",	"M3A76-CM",		1, NULL, NULL),
+	B("ASUS",	"M3A",			1, "http://www.asus.com/product.aspx?P_ID=P48rppKk4jrc9pNd", NULL),
+	B("ASUS",	"M3A76-CM",		1, "http://www.asus.com/product.aspx?P_ID=aU8effdifLvraVze", NULL),
 	B("ASUS",	"M3A78-EM",		1, "http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D", NULL),
 	B("ASUS",	"M4A78-EM",		1, "http://www.asus.com/product.aspx?P_ID=0KyowHKUFAQqH2DO", NULL),
 	B("ASUS",	"M4A785TD-M EVO",	1, "http://www.asus.com/product.aspx?P_ID=QHbvGVB1mXmmD8qQ", NULL),
@@ -514,6 +516,7 @@
 	B("FIC",	"VA-502",		0, "ftp://ftp.fic.com.tw/motherboard/manual/socket7/va-502/", "No public report found. Owned by Uwe Hermann <uwe@hermann-uwe.de>. Seems the PCI subsystem IDs are identical with the Tekram P6Pro-A5. May work now."),
 	B("Foxconn",	"6150K8MD-8EKRSH",	1, "http://www.foxconnchannel.com/product/motherboards/detail_overview.aspx?id=en-us0000157", NULL),
 	B("Foxconn",	"A6VMX",		1, "http://www.foxconnchannel.com/product/motherboards/detail_overview.aspx?id=en-us0000346", NULL),
+	B("Freetech",	"P6F91i",		1, "http://web.archive.org/web/20010417035034/http://www.freetech.com/prod/P6F91i.html", NULL),
 	B("Fujitsu-Siemens", "ESPRIMO P5915",	1, "http://uk.ts.fujitsu.com/rl/servicesupport/techsupport/professionalpc/ESPRIMO/P/EsprimoP5915-6.htm", "Mainboard model is D2312-A2."),
 	B("GIGABYTE",	"GA-2761GXDK",		1, "http://www.computerbase.de/news/hardware/mainboards/amd-systeme/2007/mai/gigabyte_dtx-mainboard/", NULL),
 	B("GIGABYTE",	"GA-6BXC",		1, "http://www.gigabyte.com/products/product-page.aspx?pid=1445", NULL),
@@ -529,17 +532,20 @@
 	B("GIGABYTE",	"GA-8IP775",		1, "http://www.gigabyte.com/products/product-page.aspx?pid=1830", NULL),
 	B("GIGABYTE",	"GA-8IRML",		1, "http://www.gigabyte.com/products/product-page.aspx?pid=1343", NULL),
 	B("GIGABYTE",	"GA-8PE667 Ultra 2",	1, "http://www.gigabyte.com/products/product-page.aspx?pid=1607", NULL),
+	B("GIGABYTE",	"GA-965GM-S2 (rev. 2.0)", 1, "http://www.gigabyte.com/products/product-page.aspx?pid=2617", NULL),
 	B("GIGABYTE",	"GA-965P-DS4",		1, "http://www.gigabyte.com/products/product-page.aspx?pid=2288", NULL),
 	B("GIGABYTE",	"GA-EP35-DS3L",		1, "http://www.gigabyte.com/products/product-page.aspx?pid=2778", NULL),
 	B("GIGABYTE",	"GA-EX58-UD4P",		1, "http://www.gigabyte.com/products/product-page.aspx?pid=2986", NULL),
 	B("GIGABYTE",	"GA-K8N-SLI",		1, "http://www.gigabyte.com/products/product-page.aspx?pid=1928", NULL),
 	B("GIGABYTE",	"GA-K8N51GMF",		1, "http://www.gigabyte.com/products/product-page.aspx?pid=1950", NULL),
 	B("GIGABYTE",	"GA-K8N51GMF-9",	1, "http://www.gigabyte.com/products/product-page.aspx?pid=1939", NULL),
-	B("GIGABYTE",	"GA-K8NS Ultra-939",	0, "http://www.gigabyte.com/products/product-page.aspx?pid=1839", "Untested board enable."),
+	B("GIGABYTE",	"GA-K8NS Pro-939",	0, "http://www.gigabyte.com/products/product-page.aspx?pid=1875", "Untested board enable."),
 	B("GIGABYTE",	"GA-M57SLI-S4",		1, "http://www.gigabyte.com/products/product-page.aspx?pid=2287", NULL),
 	B("GIGABYTE",	"GA-M61P-S3",		1, "http://www.gigabyte.com/products/product-page.aspx?pid=2434", NULL),
+	B("GIGABYTE",	"GA-M720-US3",		1, "http://www.gigabyte.com/products/product-page.aspx?pid=3006", NULL),
 	B("GIGABYTE",	"GA-MA69VM-S2",		1, "http://www.gigabyte.com/products/product-page.aspx?pid=2500", NULL),
 	B("GIGABYTE",	"GA-MA74GM-S2H (rev. 3.0)", 1, "http://www.gigabyte.com/products/product-page.aspx?pid=3152", NULL),
+	B("GIGABYTE",	"GA-MA770-UD3 (rev. 2.1)", 1, "http://www.gigabyte.com/products/product-page.aspx?pid=3302", NULL),
 	B("GIGABYTE",	"GA-MA770T-UD3P",	1, "http://www.gigabyte.com/products/product-page.aspx?pid=3096", NULL),
 	B("GIGABYTE",	"GA-MA780G-UD3H",	1, "http://www.gigabyte.com/products/product-page.aspx?pid=3004", NULL),
 	B("GIGABYTE",	"GA-MA78G-DS3H (rev. 1.0)", 1, "http://www.gigabyte.com/products/product-page.aspx?pid=2800", NULL),
@@ -555,7 +561,8 @@
 	B("HP",		"Puffer2-UL8E",		1, "http://h10025.www1.hp.com/ewfrf/wc/document?docname=c00300023", NULL),
 	B("HP",		"Vectra VL400",		1, "http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=c00060658&lang=en&cc=us", NULL),
 	B("HP",		"Vectra VL420 SFF",	1, "http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=c00060661&lang=en&cc=us", NULL),
-	B("HP",		"xw9400",		1, "http://h20000.www2.hp.com/bizsupport/TechSupport/Home.jsp?lang=en&cc=us&prodSeriesId=3211286&prodTypeId=12454", "Boot block is write protected unless the solder points next to F2 are shorted." ),
+	B("HP",		"xw4400 (0A68h)",	0, "http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=c00775230", "ICH7 with SPI lock down, BIOS lock, flash block detection (SST25VF080B); see http://paste.flashrom.org/view.php?id=686"),
+	B("HP",		"xw9400",		1, "http://h20000.www2.hp.com/bizsupport/TechSupport/Home.jsp?lang=en&cc=us&prodSeriesId=3211286&prodTypeId=12454", "Boot block is write protected unless the solder points next to F2 are shorted."),
 	B("IBASE",	"MB899",		1, "http://www.ibase-i.com.tw/2009/mb899.html", NULL),
 	B("IBM",	"x3455",		1, "http://www-03.ibm.com/systems/x/hardware/rack/x3455/index.html", NULL),
 	B("IEI",	"PICOe-9452",		1, "http://www.ieiworld.com/product_groups/industrial/content.aspx?keyword=WSB&gid=00001000010000000001&cid=08125380291060861658&id=08142308605814597144", NULL),
@@ -578,6 +585,7 @@
 	B("MSI",	"MS-6330 (K7T Turbo)",	1, "http://www.msi.com/index.php?func=proddesc&maincat_no=1&prod_no=327", NULL),
 	B("MSI",	"MS-6391 (845 Pro4)",	1, "http://www.msi.com/index.php?func=proddesc&maincat_no=1&prod_no=293", NULL),
 	B("MSI",	"MS-6561 (745 Ultra)",	1, "http://www.msi.com/index.php?func=proddesc&maincat_no=1&prod_no=274", NULL),
+	B("MSI",	"MS-6566 (845 Ultra-C)",1, "http://www.msi.com/product/mb/845-Ultra-C.html", NULL),
 	B("MSI",	"MS-6570 (K7N2)",	1, "http://www.msi.com/index.php?func=proddesc&maincat_no=1&prod_no=519", NULL),
 	B("MSI",	"MS-6577 (Xenon)",	1, "http://h10025.www1.hp.com/ewfrf/wc/document?product=90390&lc=en&cc=us&dlc=en&docname=bph07843", "This is an OEM board from HP, the HP name is Xenon."),
 	B("MSI",	"MS-6590 (KT4 Ultra)",	1, "http://www.msi.com/index.php?func=proddesc&maincat_no=1&prod_no=502", NULL),
@@ -607,8 +615,10 @@
 	B("MSI",	"MS-7599 (870-C45)",    1, "http://www.msi.com/product/mb/870-C45.html", NULL),
 	B("MSI",	"MS-7640 (890FXA-GD70)",1, "http://www.msi.com/product/mb/890FXA-GD70.html", "Reported by \"Linux User #330250\" http://flashrom.org/pipermail/flashrom/2011-March/006072.html"),
 	B("MSI",	"MS-7642 (890GXM-G65)",	1, "http://www.msi.com/index.php?func=proddesc&maincat_no=1&prod_no=2012", NULL),
+	B("MSI",	"MS-7698 (E350IA-E45)",	1, "http://www.msi.com/product/mb/E350IA-E45.html", NULL),
 	B("NEC",	"PowerMate 2000",	1, "http://support.necam.com/mobilesolutions/hardware/Desktops/pm2000/celeron/", NULL),
 	B("Nokia",	"IP530",		1, NULL, NULL),
+	B("PCCHIPS ",	"M863G (V5.1A)",	1, "http://www.pcchips.com.tw/PCCWebSite/Products/ProductsDetail.aspx?CategoryID=1&DetailID=343&DetailName=Feature&MenuID=1&LanID=0", NULL),
 	B("PC Engines",	"Alix.1c",		1, "http://pcengines.ch/alix1c.htm", NULL),
 	B("PC Engines",	"Alix.2c2",		1, "http://pcengines.ch/alix2c2.htm", NULL),
 	B("PC Engines",	"Alix.2c3",		1, "http://pcengines.ch/alix2c3.htm", NULL),
@@ -639,7 +649,7 @@
 	B("Supermicro", "X8DTH-6F",		1, "http://www.supermicro.com/products/motherboard/QPI/5500/X8DTH-6F.cfm", NULL),
 	B("Supermicro",	"X8DTT-F",		1, "http://www.supermicro.com/products/motherboard/QPI/5500/X8DTT-F.cfm", NULL),
 	B("Supermicro",	"X8DTU-F",		1, "http://www.supermicro.com/products/motherboard/QPI/5500/X8DTU-F.cfm", NULL),
-	B("Supermicro",	"X8SIE",		0, "http://www.supermicro.com/products/motherboard/Xeon3000/3400/X8SIE.cfm?IPMI=N&TYP=LN2", "Does not work with 0.9.2; see http://www.flashrom.org/pipermail/flashrom/2011-May/006554.html May work now, but please consult us before trying."),
+	B("Supermicro",	"X8SIE(-F)",		0, "http://www.supermicro.com/products/motherboard/Xeon3000/3400/X8SIE.cfm?IPMI=N&TYP=LN2", "Requires unlocking the ME although the registers are set up correctly by the descriptor/BIOS already (tested with swseq and hwseq)."),
 	B("Supermicro",	"X8STi",		1, "http://www.supermicro.com/products/motherboard/Xeon3000/X58/X8STi.cfm", NULL),
 	B("T-Online",	"S-100",		1, "http://wiki.freifunk-hannover.de/T-Online_S_100", NULL),
 	B("Tekram",	"P6Pro-A5",		1, "http://www.motherboard.cz/mb/tekram/P6Pro-A5.htm", NULL),
diff --git a/serprog-protocol.txt b/serprog-protocol.txt
index c5464a4..52f901a 100644
--- a/serprog-protocol.txt
+++ b/serprog-protocol.txt
@@ -88,7 +88,7 @@
 #define S_CMD_Q_BUSTYPE         0x05            /* Query supported bustypes                     */
 #define S_CMD_Q_CHIPSIZE        0x06            /* Query supported chipsize (2^n format)        */
 #define S_CMD_Q_OPBUF           0x07            /* Query operation buffer size                  */
-#define S_CMD_Q_WRNMAXLEN	0x08		/* Query Write to opbuf: Write-N maximum lenght */
+#define S_CMD_Q_WRNMAXLEN	0x08		/* Query Write to opbuf: Write-N maximum length */
 #define S_CMD_R_BYTE            0x09            /* Read a single byte                           */
 #define S_CMD_R_NBYTES          0x0A            /* Read n bytes                                 */
 #define S_CMD_O_INIT            0x0B            /* Initialize operation buffer                  */
diff --git a/serprog.c b/serprog.c
index b91e376..e8a4402 100644
--- a/serprog.c
+++ b/serprog.c
@@ -56,7 +56,7 @@
 #define S_CMD_Q_BUSTYPE		0x05	/* Query supported bustypes                     */
 #define S_CMD_Q_CHIPSIZE	0x06	/* Query supported chipsize (2^n format)        */
 #define S_CMD_Q_OPBUF		0x07	/* Query operation buffer size                  */
-#define S_CMD_Q_WRNMAXLEN	0x08	/* Query opbuf-write-N maximum lenght           */
+#define S_CMD_Q_WRNMAXLEN	0x08	/* Query opbuf-write-N maximum length           */
 #define S_CMD_R_BYTE		0x09	/* Read a single byte                           */
 #define S_CMD_R_NBYTES		0x0A	/* Read n bytes                                 */
 #define S_CMD_O_INIT		0x0B	/* Initialize operation buffer                  */
@@ -168,10 +168,10 @@
 	usleep(1000 * 1000);
 	sp_flush_incoming();
 
-	/* Then try upto 8 times to send syncnop and get the correct special *
-	 * return of NAK+ACK. Timing note: upto 10 characters, 10*50ms =     *
-	 * upto 500ms per try, 8*0.5s = 4s; +1s (above) = upto 5s sync       *
-	 * attempt, ~1s if immediate success.                                */
+	/* Then try up to 8 times to send syncnop and get the correct special *
+	 * return of NAK+ACK. Timing note: up to 10 characters, 10*50ms =     *
+	 * up to 500ms per try, 8*0.5s = 4s; +1s (above) = up to 5s sync      *
+	 * attempt, ~1s if immediate success.                                 */
 	for (i = 0; i < 8; i++) {
 		int n;
 		unsigned char c = S_CMD_SYNCNOP;
@@ -180,7 +180,7 @@
 		msg_pdbg(".");
 		fflush(stdout);
 		for (n = 0; n < 10; n++) {
-			c = sp_sync_read_timeout(5);	/* wait upto 50ms */
+			c = sp_sync_read_timeout(5);	/* wait up to 50ms */
 			if (c != S_NAK)
 				continue;
 			c = sp_sync_read_timeout(2);
diff --git a/spi25.c b/spi25.c
index b26f533..937ee5d 100644
--- a/spi25.c
+++ b/spi25.c
@@ -62,7 +62,7 @@
 	}
 	if (ret)
 		return ret;
-	msg_cspew("REMS returned %02x %02x. ", readarr[0], readarr[1]);
+	msg_cspew("REMS returned 0x%02x 0x%02x. ", readarr[0], readarr[1]);
 	return 0;
 }