From 2721fabc5353114660dc53ac04939d29cb685263 Mon Sep 17 00:00:00 2001 From: erictian <erictian@6f19259b-4bc3-4df7-8a09-765794883524> Date: Tue, 29 May 2012 07:05:33 +0000 Subject: [PATCH] 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 --- MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.c b/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.c index 42ee5bc580..c2c2c2869a 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; }