userlibandfileserver/fileserver/shostmassstorage/server/controller/cusbhostmsdevicethread.cpp
branchRCL_3
changeset 268 345b1ca54e88
parent 248 0ffb4e86fcc9
child 294 039a3e647356
child 297 b2826f67641f
equal deleted inserted replaced
263:9e2d4f7f5028 268:345b1ca54e88
   171 	Lock();    
   171 	Lock();    
   172     if (iUsbHostMsDevice)
   172     if (iUsbHostMsDevice)
   173         {
   173         {
   174         if (iUsbHostMsDevice->IsSuspended())
   174         if (iUsbHostMsDevice->IsSuspended())
   175             {
   175             {
   176             // request resume 
   176 
   177             Unlock();
   177             RMessage2 msg = iRMessage2[iDequeueIndex];      
   178             iUsbHostMsDevice->Resume(iStatus);
   178             if (msg.Function() != EUsbHostMsSuspendLun)
   179             SetActive();
   179                 {
   180             return;
   180                 // request resume 
       
   181                 Unlock();
       
   182                 iUsbHostMsDevice->Resume(iStatus);
       
   183                 SetActive();
       
   184                 return;
       
   185                 }            
   181             }
   186             }
   182         }
   187         }
   183 
   188 
   184     // process message queue
   189     // process message queue
   185     RMessage2 msg = iRMessage2[iDequeueIndex];
   190     RMessage2 msg = iRMessage2[iDequeueIndex];
   307             break;
   312             break;
   308             }
   313             }
   309 		return;
   314 		return;
   310 	case EUsbHostMsUnRegisterInterface:
   315 	case EUsbHostMsUnRegisterInterface:
   311 		// Check whether all luns have got uninitialised. 
   316 		// Check whether all luns have got uninitialised. 
   312 		for(TInt i = 0, j = iUsbHostMsDevice->GetMaxLun(); i <= j; i++)
   317         if (iUsbHostMsDevice)
   313 			TRAP_IGNORE(iUsbHostMsDevice->RemoveLunL(i));
   318             {
       
   319             for(TInt i = 0, j = iUsbHostMsDevice->GetMaxLun(); i <= j; i++)
       
   320                 TRAP_IGNORE(iUsbHostMsDevice->RemoveLunL(i));
       
   321             }
   314 		TRAP(ret, UnRegisterInterfaceL(aMessage));
   322 		TRAP(ret, UnRegisterInterfaceL(aMessage));
   315 		break;
   323 		break;
   316 	case EUsbHostMsRegisterLun:
   324 	case EUsbHostMsRegisterLun:
   317 		TRAP(ret, RegisterLogicalUnitL(aMessage));
   325 		TRAP(ret, RegisterLogicalUnitL(aMessage));
   318 		break;
   326 		break;