usbmgmt/usbmgr/usbman/server/SRC/CUsbSession.cpp
changeset 12 e9d124871462
parent 0 c9bc50fca66e
child 26 f3a1ae528dee
child 42 f92a4f87e424
--- a/usbmgmt/usbmgr/usbman/server/SRC/CUsbSession.cpp	Tue Feb 02 02:02:59 2010 +0200
+++ b/usbmgmt/usbmgr/usbman/server/SRC/CUsbSession.cpp	Fri Apr 16 16:55:35 2010 +0300
@@ -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;	
 	}
 
 /**