diff -r 0ffb4e86fcc9 -r a179b74831c9 kernel/eka/memmodel/epoc/flexible/mmu/mdatapaging.cpp --- a/kernel/eka/memmodel/epoc/flexible/mmu/mdatapaging.cpp Thu Jul 15 20:11:42 2010 +0300 +++ b/kernel/eka/memmodel/epoc/flexible/mmu/mdatapaging.cpp Thu Aug 19 11:14:22 2010 +0300 @@ -797,6 +797,15 @@ } // Store the device, blocking any other devices from installing. + // unless the device is a media extension device + if(aDevice->iType & DPagingDevice::EMediaExtension) + { + delete iSwapManager; + iSwapManager = NULL; + TAny* null = 0; + __e32_atomic_store_ord_ptr(&iDevice, null); + } + if (!NKern::CompareAndSwap((TAny*&)iDevice, (TAny*)NULL, (TAny*)aDevice)) {// Data paging device already installed. __KTRACE_OPT2(KPAGING,KBOOT,Kern::Printf("**** Attempt to install more than one data paging device !!!!!!!! ****"));