From e046954d530cc7473ce1ae8d742209a68fe6dcae Mon Sep 17 00:00:00 2001 From: zwelch Date: Sun, 24 May 2009 20:56:13 +0000 Subject: David Brownell : minor davinci_nand bugfix 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". git-svn-id: svn://svn.berlios.de/openocd/trunk@1907 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- src/flash/davinci_nand.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/flash') diff --git a/src/flash/davinci_nand.c b/src/flash/davinci_nand.c index cab489f..7500fc7 100644 --- a/src/flash/davinci_nand.c +++ b/src/flash/davinci_nand.c @@ -258,8 +258,10 @@ static int davinci_write_page(struct nand_device_s *nand, u32 page, 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 nand_device_s *nand, u32 page, } if (!oob) { ooballoc = malloc(oob_size); - if (ooballoc) + if (!ooballoc) return ERROR_NAND_OPERATION_FAILED; oob = ooballoc; memset(oob, 0x0ff, oob_size); -- cgit v1.1