MdeModulePkg/Sd: Fix wrong response type of SD Deselect cmd

The SD CMD7 deselect cmd have no response according to SD
physical layer simplified spec.

Cc: Hao Wu <hao.a.wu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Hao Wu <hao.a.wu@intel.com>
This commit is contained in:
Feng Tian 2016-04-06 09:52:08 +08:00
parent 2e9107b87e
commit ac30e4c15d
2 changed files with 8 additions and 4 deletions

View File

@ -1,7 +1,7 @@
/** @file /** @file
This file provides some helper functions which are specific for SD card device. This file provides some helper functions which are specific for SD card device.
Copyright (c) 2015, Intel Corporation. All rights reserved.<BR> Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -464,7 +464,9 @@ SdCardSelect (
SdMmcCmdBlk.CommandIndex = SD_SELECT_DESELECT_CARD; SdMmcCmdBlk.CommandIndex = SD_SELECT_DESELECT_CARD;
SdMmcCmdBlk.CommandType = SdMmcCommandTypeAc; SdMmcCmdBlk.CommandType = SdMmcCommandTypeAc;
SdMmcCmdBlk.ResponseType = SdMmcResponseTypeR1b; if (Rca != 0) {
SdMmcCmdBlk.ResponseType = SdMmcResponseTypeR1b;
}
SdMmcCmdBlk.CommandArgument = (UINT32)Rca << 16; SdMmcCmdBlk.CommandArgument = (UINT32)Rca << 16;
Status = SdMmcPassThruPassThru (PassThru, Slot, &Packet, NULL); Status = SdMmcPassThruPassThru (PassThru, Slot, &Packet, NULL);

View File

@ -1,7 +1,7 @@
/** @file /** @file
The helper functions for BlockIo and BlockIo2 protocol. The helper functions for BlockIo and BlockIo2 protocol.
Copyright (c) 2015, Intel Corporation. All rights reserved.<BR> Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -133,7 +133,9 @@ SdSelect (
SdMmcCmdBlk.CommandIndex = SD_SELECT_DESELECT_CARD; SdMmcCmdBlk.CommandIndex = SD_SELECT_DESELECT_CARD;
SdMmcCmdBlk.CommandType = SdMmcCommandTypeAc; SdMmcCmdBlk.CommandType = SdMmcCommandTypeAc;
SdMmcCmdBlk.ResponseType = SdMmcResponseTypeR1b; if (Rca != 0) {
SdMmcCmdBlk.ResponseType = SdMmcResponseTypeR1b;
}
SdMmcCmdBlk.CommandArgument = (UINT32)Rca << 16; SdMmcCmdBlk.CommandArgument = (UINT32)Rca << 16;
Status = PassThru->PassThru (PassThru, Device->Slot, &Packet, NULL); Status = PassThru->PassThru (PassThru, Device->Slot, &Packet, NULL);