kernel/eka/drivers/pbus/mmc/session.cpp
changeset 279 957c583b417b
parent 244 a77889bee936
child 287 ddfd5aa0d58f
equal deleted inserted replaced
275:2b433474f2ba 279:957c583b417b
    52  */
    52  */
    53 	{
    53 	{
    54 	OstTraceFunctionEntry1( DUP1_DMMCSESSION_DMMCSESSION_ENTRY, this );
    54 	OstTraceFunctionEntry1( DUP1_DMMCSESSION_DMMCSESSION_ENTRY, this );
    55 	// Ensure that the stack isn't currently running in another thread's context, otherwise this session won't be 
    55 	// Ensure that the stack isn't currently running in another thread's context, otherwise this session won't be 
    56 	// removed from the stack's workset until some time later - by which time the session will have been deleted
    56 	// removed from the stack's workset until some time later - by which time the session will have been deleted
    57 	__ASSERT_ALWAYS(!iStackP->StackRunning(), DMMCSocket::Panic(DMMCSocket::EMMCNotInDfcContext));
    57 	__ASSERT_ALWAYS(!StackP()->StackRunning(), DMMCSocket::Panic(DMMCSocket::EMMCNotInDfcContext));
    58 	Abort();
    58 	Abort();
    59 	UnlockStack();
    59 	UnlockStack();
    60 	OstTraceFunctionExit1( DUP1_DMMCSESSION_DMMCSESSION_EXIT, this );
    60 	OstTraceFunctionExit1( DUP1_DMMCSESSION_DMMCSESSION_EXIT, this );
    61 	}
    61 	}
    62 
    62 
   390 	iDoAbort = iDoStop = iDoComplete = EFalse;
   390 	iDoAbort = iDoStop = iDoComplete = EFalse;
   391 	iBlockOn = 0;
   391 	iBlockOn = 0;
   392 
   392 
   393 	ResetCommandStack();
   393 	ResetCommandStack();
   394 
   394 
   395 	iMachine.Setup(f, iStackP);
   395 	iMachine.Setup(f, StackP());
   396 	OstTraceFunctionExit1( DMMCSESSION_SETUPCIMCONTROL_EXIT, this );
   396 	OstTraceFunctionExit1( DMMCSESSION_SETUPCIMCONTROL_EXIT, this );
   397 	}
   397 	}
   398 
   398 
   399 EXPORT_C TMMCSMSTFunc DMMCSession::GetMacro(TInt aSessNum) const
   399 EXPORT_C TMMCSMSTFunc DMMCSession::GetMacro(TInt aSessNum) const
   400 	{
   400 	{
   438  */
   438  */
   439 	{
   439 	{
   440 	OstTraceFunctionEntry1( DMMCSESSION_ENGAGE_ENTRY, this );
   440 	OstTraceFunctionEntry1( DMMCSESSION_ENGAGE_ENTRY, this );
   441 	__KTRACE_OPT(KPBUS1,Kern::Printf(">ms:eng"));
   441 	__KTRACE_OPT(KPBUS1,Kern::Printf(">ms:eng"));
   442 
   442 
   443 	if( iStackP == NULL )
   443 	if( StackP() == NULL )
   444 	    {
   444 	    {
   445 		OstTraceFunctionExitExt( DMMCSESSION_ENGAGE_EXIT, this, KErrBadDriver );
   445 		OstTraceFunctionExitExt( DMMCSESSION_ENGAGE_EXIT, this, KErrBadDriver );
   446 		return KErrBadDriver;
   446 		return KErrBadDriver;
   447 	    }
   447 	    }
   448 
   448 
   449 	if( iStackP->iLockingSessionP != NULL && iStackP->iLockingSessionP != this &&
   449 	if( StackP()->iLockingSessionP != NULL && StackP()->iLockingSessionP != this &&
   450 		(iStackP->EffectiveModes(iConfig) & KMMCModeEnqueIfLocked) == 0 )
   450 		(StackP()->EffectiveModes(iConfig) & KMMCModeEnqueIfLocked) == 0 )
   451 	    {
   451 	    {
   452 		OstTraceFunctionExitExt( DUP1_DMMCSESSION_ENGAGE_EXIT, this, KErrServerBusy );
   452 		OstTraceFunctionExitExt( DUP1_DMMCSESSION_ENGAGE_EXIT, this, KErrServerBusy );
   453 		return KErrServerBusy;
   453 		return KErrServerBusy;
   454 	    }
   454 	    }
   455 
   455 
   456 	const TMediaState doorState=iStackP->MMCSocket()->iMediaChange->MediaState();
   456 	const TMediaState doorState=StackP()->MMCSocket()->iMediaChange->MediaState();
   457 
   457 
   458 	__KTRACE_OPT(KPBUS1,Kern::Printf(">MMC:Eng ds = %x", doorState));
   458 	__KTRACE_OPT(KPBUS1,Kern::Printf(">MMC:Eng ds = %x", doorState));
   459 	OstTrace1( TRACE_INTERNALS, DMMCSESSION_ENGAGE, "doorState = 0x%x", doorState);
   459 	OstTrace1( TRACE_INTERNALS, DMMCSESSION_ENGAGE, "doorState = 0x%x", doorState);
   460 
   460 
   461 	if (doorState == EDoorOpen)
   461 	if (doorState == EDoorOpen)
   468 	// (e.g. ECIMLockUnlock, ECIMInitStackAfterUnlock) can change it
   468 	// (e.g. ECIMLockUnlock, ECIMInitStackAfterUnlock) can change it
   469 	SaveCard();
   469 	SaveCard();
   470 
   470 
   471 	SetupCIMControl(iSessionID);
   471 	SetupCIMControl(iSessionID);
   472 
   472 
   473 	iStackP->Add(this);
   473 	StackP()->Add(this);
   474 
   474 
   475 	__KTRACE_OPT(KPBUS1,Kern::Printf("<ms:eng"));
   475 	__KTRACE_OPT(KPBUS1,Kern::Printf("<ms:eng"));
   476 	OstTraceFunctionExitExt( DUP3_DMMCSESSION_ENGAGE_EXIT, this, KErrNone );
   476 	OstTraceFunctionExitExt( DUP3_DMMCSESSION_ENGAGE_EXIT, this, KErrNone );
   477 	return KErrNone;
   477 	return KErrNone;
   478 	}
   478 	}