usbmgmt/usbmgr/usbman/server/SRC/CUsbSession.cpp
branchRCL_3
changeset 6 96e575696901
parent 0 c9bc50fca66e
child 15 f92a4f87e424
--- a/usbmgmt/usbmgr/usbman/server/SRC/CUsbSession.cpp	Fri Mar 12 15:51:10 2010 +0200
+++ b/usbmgmt/usbmgr/usbman/server/SRC/CUsbSession.cpp	Mon Mar 15 12:46:46 2010 +0200
@@ -1862,18 +1862,27 @@
 	LOG_FUNC
 
 
-	if (!iHostEventObserverOutstanding)
+	if (!iHostEventObserverQueueEvents)
 		{
+		//Never register
+		LOGTEXT(_L8("iHostEventObserverQueueEvents is FALSE!"));
 		return KErrNone;
 		}
 
-	iHostEventObserverOutstanding = EFalse;
-	iHostEventObserverMessage.Complete(KErrCancel);
+	if (iHostEventObserverOutstanding)
+		{
+		iHostEventObserverOutstanding = EFalse;
+		iHostEventObserverMessage.Complete(KErrCancel);
+		LOGTEXT(_L8("iHostEventObserverMessage.Complete(KErrCancel);"));
+		}
 
 	// client doesn't need events queuing any more
  	iHostEventObserverQueueEvents = EFalse;
+	//Reset OTG Host State Queue
+	iHostEventQueueHead = 0;
+	iHostEventQueueTail = 0;
 
-	return KErrNone;
+	return KErrNone;	
 	}
 
 /**