Fix a bug that joined us at the last minute, when an efficient
alloca() call got swapped out for a more portable malloc().

Also log one error, to give a clue in case it appears "in the wild".
---
 src/flash/davinci_nand.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
 
Fix a bug that joined us at the last minute, when an efficient
alloca() call got swapped out for a more portable malloc().

Also log one error, to give a clue in case it appears "in the wild".
---
 src/flash/davinci_nand.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

--- a/src/flash/davinci_nand.c
+++ b/src/flash/davinci_nand.c
@@ -258,8 +258,10 @@ static int davinci_write_page(struct nan
 		return ERROR_NAND_OPERATION_FAILED;
 
 	/* Always write both data and OOB ... we are not "raw" I/O! */
-	if (!data)
+	if (!data) {
+		LOG_ERROR("Missing NAND data; try 'nand raw_access enable'\n");
 		return ERROR_NAND_OPERATION_FAILED;
+	}
 
 	/* If we're not given OOB, write 0xff where we don't write ECC codes. */
 	switch (nand->page_size) {
@@ -277,7 +279,7 @@ static int davinci_write_page(struct nan
 	}
 	if (!oob) {
 		ooballoc = malloc(oob_size);
-		if (ooballoc)
+		if (!ooballoc)
 			return ERROR_NAND_OPERATION_FAILED;
 		oob = ooballoc;
 		memset(oob, 0x0ff, oob_size);
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to