diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/host/functiondrivers/ms/msmm/server/src/msmmengine.cpp --- a/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/server/src/msmmengine.cpp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/server/src/msmmengine.cpp Thu Sep 16 12:03:29 2010 +0800 @@ -101,7 +101,7 @@ return interface; } -void CMsmmEngine::AddUsbMsLogicalUnitL(TInt aDeviceId, +TUsbMsLogicalUnit* CMsmmEngine::AddUsbMsLogicalUnitL(TInt aDeviceId, TInt aInterfaceNumber, TInt aLogicalUnitNumber, TText aDrive) { OstTraceFunctionEntry0( CMSMMENGINE_ADDUSBMSLOGICALUNITL_ENTRY ); @@ -113,15 +113,17 @@ } TUsbMsInterface* interface = SearchInterface(device, aInterfaceNumber); + TUsbMsLogicalUnit* logicalUnit = NULL; if (interface) { - AddUsbMsLogicalUnitNodeL(interface, aLogicalUnitNumber, aDrive); + logicalUnit = AddUsbMsLogicalUnitNodeL(interface, aLogicalUnitNumber, aDrive); } else { User::Leave(KErrArgument); // A proper interface node can't be found } OstTraceFunctionExit0( CMSMMENGINE_ADDUSBMSLOGICALUNITL_EXIT ); + return logicalUnit; } void CMsmmEngine::RemoveUsbMsNode(TMsmmNodeBase* aNodeToBeRemoved)