From 83155d7eb4d3cc15d375cc1ac6ec8bd68499193f Mon Sep 17 00:00:00 2001 From: Ruiyu Ni Date: Tue, 8 Nov 2016 10:25:46 +0800 Subject: IntelFrameworkModulePkg/LegacyBios: Fix legacy serial redirection bug Upon booting to a legacy OS, LegacyBios driver is responsible to initialize the BDA region with the correct COM port base address. But the current logic to get the COM port base address from IsaIo instance is not correct. The patch fixes this bug. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni Reviewed-by: Jeff Fan --- IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacySio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'IntelFrameworkModulePkg') diff --git a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacySio.c b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacySio.c index c853377192..686a32dac8 100644 --- a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacySio.c +++ b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacySio.c @@ -354,7 +354,7 @@ LegacyBiosBuildSioDataFromIsaIo ( // for (ChildIndex = 0; ChildIndex < EntryCount; ChildIndex++) { if ((OpenInfoBuffer[ChildIndex].Attributes & EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER) != 0) { - Status = gBS->HandleProtocol (OpenInfoBuffer[ChildIndex].AgentHandle, &gEfiSerialIoProtocolGuid, (VOID **) &SerialIo); + Status = gBS->HandleProtocol (OpenInfoBuffer[ChildIndex].ControllerHandle, &gEfiSerialIoProtocolGuid, (VOID **) &SerialIo); if (!EFI_ERROR (Status)) { SioSerial = &SioPtr->Serial[ResourceList->Device.UID]; SioSerial->Address = (UINT16) IoResource->StartRange; -- cgit v1.2.3