diff -r d57b86b1867a -r dc268b18d709 userlibandfileserver/fileserver/shostmassstorage/server/controller/cusbhostmsdevice.cpp --- a/userlibandfileserver/fileserver/shostmassstorage/server/controller/cusbhostmsdevice.cpp Mon Sep 13 15:16:07 2010 +0100 +++ b/userlibandfileserver/fileserver/shostmassstorage/server/controller/cusbhostmsdevice.cpp Wed Sep 22 10:53:45 2010 +0100 @@ -160,7 +160,12 @@ void CUsbHostMsDevice::SuspendLunL(TLun aLun) { __MSFNLOG - iLuList.GetLuL(aLun).ReadyToSuspend(); + if (IsSuspended()) + { + return; + } + + iLuList.GetLuL(aLun).ReadyToSuspend(); // check whether all the luns are suspended, if so then request usb // interface suspension to the transport layer