summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuiyu Ni <ruiyu.ni@intel.com>2016-11-08 10:25:46 +0800
committerRuiyu Ni <ruiyu.ni@intel.com>2016-11-10 10:19:54 +0800
commit83155d7eb4d3cc15d375cc1ac6ec8bd68499193f (patch)
treeddbb688b13c9bc8949d12856487e28bdfd2f9803
parent4ab04a72f52e4d12a0c30b20e577e688b786e4fd (diff)
downloadedk2-platforms-83155d7eb4d3cc15d375cc1ac6ec8bd68499193f.tar.xz
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 <ruiyu.ni@intel.com> Reviewed-by: Jeff Fan <jeff.fan@intel.com>
-rw-r--r--IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacySio.c2
1 files changed, 1 insertions, 1 deletions
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;