diff -r a179b74831c9 -r c1f20ce4abcf kernel/eka/memmodel/epoc/flexible/mmu/mcodepaging.cpp --- a/kernel/eka/memmodel/epoc/flexible/mmu/mcodepaging.cpp Thu Aug 19 11:14:22 2010 +0300 +++ b/kernel/eka/memmodel/epoc/flexible/mmu/mcodepaging.cpp Tue Aug 31 16:34:26 2010 +0300 @@ -298,31 +298,17 @@ (TAny*)info.iCodeLocalDrive, (TAny*)&message); - if(bufferStart<0) - { - r = bufferStart; // return error - __NK_ASSERT_DEBUG(0); + r = ThePager.EmbedErrorContext(EPagingErrorContextCodeRead, bufferStart); + if(r<0) break; - } TLinAddr data = aRequest->Buffer() + bufferStart; r = Decompress(info.iCompressionType, linAddr, decompressedSize, data, dataSize); - if(r>=0) - { - if(r!=decompressedSize) - { - __KTRACE_OPT(KPANIC, Kern::Printf("DCodePagedMemoryManager::ReadPage: error decompressing page at %08x + %x: %d", dataOffset, dataSize, r)); - __NK_ASSERT_DEBUG(0); - r = KErrCorrupt; - } - else - r = KErrNone; - } - else - { - __NK_ASSERT_DEBUG(0); - } - + if (r >= 0) + r = (r == decompressedSize) ? KErrNone : KErrCorrupt; + if(r != KErrNone) + __KTRACE_OPT(KPANIC, Kern::Printf("DCodePagedMemoryManager::ReadPage: error decompressing page at %08x + %x: %d", dataOffset, dataSize, r)); + r = ThePager.EmbedErrorContext(EPagingErrorContextCodeDecompress, r); if(r!=KErrNone) break;