--- a/kernel/eka/drivers/pbus/mmc/stack.cpp Wed Oct 13 13:34:03 2010 +0100
+++ b/kernel/eka/drivers/pbus/mmc/stack.cpp Mon Oct 18 15:31:10 2010 +0100
@@ -5712,10 +5712,15 @@
else
{
// If commands returns card status and there we no command errors
- // (or the status contains errors) then save the status info.
- if ( (cmd.iFlags & KMMCCmdFlagStatusReceived) ||
- ((exitCode==KMMCErrNone || (exitCode & KMMCErrStatus)) &&
- (cmd.iSpec.iResponseType==ERespTypeR1 || cmd.iSpec.iResponseType==ERespTypeR1B)) )
+ // (or the status contains errors) and the status is not to be ignored,
+ // then save the status info.
+ if ( !(cmd.iFlags & KMMCCmdFlagIgnoreStatus) &&
+ ((cmd.iFlags & KMMCCmdFlagStatusReceived) ||
+ ((exitCode==KMMCErrNone || (exitCode & KMMCErrStatus))) &&
+ (cmd.iSpec.iResponseType==ERespTypeR1 || cmd.iSpec.iResponseType==ERespTypeR1B)) )
+
+
+
{
TMMCStatus status=s.ResponseP();
s.iLastStatus=status;