usbmgmt/usbmgr/host/functiondrivers/ms/msfdc/src/msfdc.cpp
changeset 48 21625e5de155
parent 39 c4733e7476f1
child 62 983e5638ce3b
--- a/usbmgmt/usbmgr/host/functiondrivers/ms/msfdc/src/msfdc.cpp	Wed Aug 25 15:55:37 2010 +0800
+++ b/usbmgmt/usbmgr/host/functiondrivers/ms/msfdc/src/msfdc.cpp	Mon Sep 06 11:27:08 2010 +0800
@@ -23,8 +23,13 @@
 #include "msfdc.h"
 #include "utils.h"
 #include <d32usbc.h>
+#ifndef __DUMMYFDF__
 #include <usbhost/internal/fdcpluginobserver.h>
 #include <d32usbdi.h>
+#else
+#include <dummyfdcpluginobserver.h>
+#include <dummyusbinterface.h>
+#endif
 #include <d32usbdescriptors.h>
 #include "OstTraceDefinitions.h"
 #ifdef OST_TRACE_COMPILER_IN_USE
@@ -223,11 +228,11 @@
     	}
 
     error = interface_ep0.GetInterfaceDescriptor(ifDescriptor);
-	interface_ep0.Close();
     if (error)
     	{
         OstTrace0( TRACE_ERROR, CMSFDC_MFI1NEWFUNCTION_DUP14, 
                         "***** Mass Storage FDC get interface descriptor Failed" );
+ 		interface_ep0.Close();
 		delete data;
 		OstTraceFunctionExit0( CMSFDC_MFI1NEWFUNCTION_EXIT_DUP7 );
 		return error;
@@ -261,6 +266,7 @@
 	
 	error = iMsmmSession.AddFunction(*data, aInterfaces[0], token);
 	
+	interface_ep0.Close();
 	delete data;
 	OstTraceFunctionExit0( CMSFDC_MFI1NEWFUNCTION_EXIT_DUP8 );
 	return error;