I got errors like: "writing -128982 bytes to chunk, called from around 4964" which brought me into yaffs_WriteDataToFile. It's bad enough when the error occurs that a while(1){} is executed and the kernel hangs. Here's the problems I have with this puppy: 1. You calculate the last chunk in the file with yaffs_AddrToChunk but then you auto-increment it. Why? 2. then at ok check for curve ball, shouldn't the if be <= and not just < ??? 3. the calculation of nBytesRead subtracts two from chunk, but this should be -1 even with the auto-increment. 4. at the top of the routine, if you call it with > 2048 bytes, yaffs_AddrToChunk gets re-calculated EVERY TIME, guaranteeing you trash something. Has somebody cleaned up this thing? Cal Page