userlibandfileserver/fileserver/shostmassstorage/server/controller/cusbhostmsdevicethread.cpp
--- a/userlibandfileserver/fileserver/shostmassstorage/server/controller/cusbhostmsdevicethread.cpp Wed Jun 23 11:59:44 2010 +0100
+++ b/userlibandfileserver/fileserver/shostmassstorage/server/controller/cusbhostmsdevicethread.cpp Wed Jun 23 12:52:28 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: