diff -r 9e2d4f7f5028 -r 345b1ca54e88 userlibandfileserver/fileserver/shostmassstorage/server/controller/cusbhostmsdevice.cpp --- a/userlibandfileserver/fileserver/shostmassstorage/server/controller/cusbhostmsdevice.cpp Tue Sep 14 23:56:21 2010 +0300 +++ b/userlibandfileserver/fileserver/shostmassstorage/server/controller/cusbhostmsdevice.cpp Wed Sep 15 13:42:27 2010 +0300 @@ -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