David Brownell <david-b@pacbell.net>: 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
This commit is contained in:
parent
42c009e2be
commit
e046954d53
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue