diff -r 1b39655331a3 -r 6e82ae192c3a mtpfws/mtpfw/dataproviders/devdp/src/cmtpopensession.cpp --- a/mtpfws/mtpfw/dataproviders/devdp/src/cmtpopensession.cpp Fri Apr 16 15:51:48 2010 +0300 +++ b/mtpfws/mtpfw/dataproviders/devdp/src/cmtpopensession.cpp Mon May 03 13:19:02 2010 +0300 @@ -82,7 +82,12 @@ */ void CMTPOpenSession::ServiceL() { - iSingletons.DpController().WaitForEnumerationComplete(); + if(iSingletons.DpController().EnumerateState() < CMTPDataProviderController::EEnumeratingPhaseOneDone) + { + RegisterPendingRequest(); + return; + } + if(iSingletons.DpController().EnumerateState() < CMTPDataProviderController::EEnumeratingPhaseOneDone) { SendResponseL(EMTPRespCodeDeviceBusy);