lint showed error 650 (see their web site). basically, you are comparing
a signed with 0x8...
The fix is to cast the int to unsigned int.
Here are the snippits of code from yaffs_guts.c
Cal Page
*** if(ok && cp.objectId == ~0)
done = 1;
else if(ok){
T(YAFFS_TRACE_CHECKPOINT,(TSTR("Read object %d parent %d
type %d" TENDSTR),
---
/* Determine the highest sequence number */
if (dev->isYaffs2 &&
sequenceNumber >= YAFFS_LOWEST_SEQUENCE_NUMBER &&
*** sequenceNumber < YAFFS_HIGHEST_SEQUENCE_NUMBER) {
blockIndex[nBlocksToScan].seq = sequenceNumber;
blockIndex[nBlocksToScan].block = blk;
} else if (state == YAFFS_BLOCK_STATE_NEEDS_SCANNING) {
---
/* Determine the highest sequence number */
if (dev->isYaffs2 &&
sequenceNumber >= YAFFS_LOWEST_SEQUENCE_NUMBER &&
*** sequenceNumber < YAFFS_HIGHEST_SEQUENCE_NUMBER) {
blockIndex[nBlocksToScan].seq = sequenceNumber;
blockIndex[nBlocksToScan].block = blk;