summaryrefslogtreecommitdiff
path: root/MdeModulePkg
diff options
context:
space:
mode:
authorerictian <erictian@6f19259b-4bc3-4df7-8a09-765794883524>2012-05-29 07:05:33 +0000
committererictian <erictian@6f19259b-4bc3-4df7-8a09-765794883524>2012-05-29 07:05:33 +0000
commit2721fabc5353114660dc53ac04939d29cb685263 (patch)
tree494204377d9523a9bcf68ced7d75c960a7e7335a /MdeModulePkg
parentfc80ee69cba877e2d8efed767e23ab36fc36d91c (diff)
MdeModulePkg/Ata: Clear PxCmd.SUD bit when the port has no device presented at AHCI mode.
Signed-off-by: Feng Tian <feng.tian@intel.com> Reviewed-by: Sun Rui <rui.sun@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13370 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg')
-rw-r--r--MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.c b/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.c
index 42ee5bc58..c2c2c2869 100644
--- a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.c
+++ b/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.c
@@ -2278,7 +2278,10 @@ AhciModeInitialization (
if (PhyDetectDelay == 0) {
//
// No device detected at this port.
+ // Clear PxCMD.SUD for those ports at which there are no device present.
//
+ Offset = EFI_AHCI_PORT_START + Port * EFI_AHCI_PORT_REG_WIDTH + EFI_AHCI_PORT_CMD;
+ AhciAndReg (PciIo, Offset, (UINT32) ~(EFI_AHCI_PORT_CMD_SUD));
continue;
}