]> git.proxmox.com Git - mirror_edk2.git/commitdiff
IntelFrameworkModulePkg/LegacyBios: Fix legacy serial redirection bug
authorRuiyu Ni <ruiyu.ni@intel.com>
Tue, 8 Nov 2016 02:25:46 +0000 (10:25 +0800)
committerRuiyu Ni <ruiyu.ni@intel.com>
Thu, 10 Nov 2016 02:19:54 +0000 (10:19 +0800)
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>
IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacySio.c

index c8533771927199fe0eb7aa2c2b4da1b93056a7ba..686a32dac8de05856be5512e44df579977a82551 100644 (file)
@@ -354,7 +354,7 @@ LegacyBiosBuildSioDataFromIsaIo (
         //\r
         for (ChildIndex = 0; ChildIndex < EntryCount; ChildIndex++) {\r
           if ((OpenInfoBuffer[ChildIndex].Attributes & EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER) != 0) {\r
-            Status = gBS->HandleProtocol (OpenInfoBuffer[ChildIndex].AgentHandle, &gEfiSerialIoProtocolGuid, (VOID **) &SerialIo);\r
+            Status = gBS->HandleProtocol (OpenInfoBuffer[ChildIndex].ControllerHandle, &gEfiSerialIoProtocolGuid, (VOID **) &SerialIo);\r
             if (!EFI_ERROR (Status)) {\r
               SioSerial           = &SioPtr->Serial[ResourceList->Device.UID];\r
               SioSerial->Address  = (UINT16) IoResource->StartRange;\r