--- a/kernel/eka/drivers/usbcc/ps_usbc.cpp Tue Aug 31 11:40:45 2010 +0100
+++ b/kernel/eka/drivers/usbcc/ps_usbc.cpp Mon Sep 13 15:16:07 2010 +0100
@@ -1078,9 +1078,11 @@
{
OstTraceDef0(OST_TRACE_CATEGORY_RND, TRACE_NORMAL, DUSBCLIENTCONTROLLER_SETUPREADBUFFER_DUP11, " iEp0_RxExtraData: trying again...");
const TBool rx_data = iEp0DataReceiving;
- const TInt irq = __SPIN_LOCK_IRQSAVE(iUsbLock);
+
+ //Note: Currently, ProcessEp0ReceiveDone() is only called in the thread context,
+ // but in the future, if this ProcessEp0ReceiveDone() is called in IRQ context,
+ // we have to notice that ProcessEp0ReceiveDone() has hold a fast mutex already.
err = ProcessEp0ReceiveDone(iEp0_RxExtraCount);
- __SPIN_UNLOCK_IRQRESTORE(iUsbLock, irq);
if (err == KErrNone)
{
iEp0_RxExtraData = EFalse;