diff -r 0ff03867bdb6 -r 39b39e1a406e userlibandfileserver/fileserver/shostmassstorage/server/controller/cusbhostmsdevicethread.cpp --- a/userlibandfileserver/fileserver/shostmassstorage/server/controller/cusbhostmsdevicethread.cpp Wed Jul 21 14:46:58 2010 +0100 +++ b/userlibandfileserver/fileserver/shostmassstorage/server/controller/cusbhostmsdevicethread.cpp Thu Jul 22 16:46:39 2010 +0100 @@ -308,6 +308,9 @@ } return; case EUsbHostMsUnRegisterInterface: + // Check whether all luns have got uninitialised. + for(TInt i = 0, j = iUsbHostMsDevice->GetMaxLun(); i <= j; i++) + TRAP_IGNORE(iUsbHostMsDevice->RemoveLunL(i)); TRAP(ret, UnRegisterInterfaceL(aMessage)); break; case EUsbHostMsRegisterLun: