X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdeModulePkg%2FBus%2FPci%2FPciBusDxe%2FPciResourceSupport.c;h=b0637c960c9a2ea77bf0c44a123feac0822a81de;hp=d5f553bcc455a4aac4feba76bfe0f3a40acfc034;hb=4661d5df04ce804e454509922fd54f45332553da;hpb=de028a62ded3c0ab76d33accec4d8666cb2834bf diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciResourceSupport.c b/MdeModulePkg/Bus/Pci/PciBusDxe/PciResourceSupport.c index d5f553bcc4..b0637c960c 100644 --- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciResourceSupport.c +++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciResourceSupport.c @@ -1050,6 +1050,7 @@ DegradeResource ( PCI_IO_DEVICE *Temp; LIST_ENTRY *ChildDeviceLink; LIST_ENTRY *ChildNodeLink; + LIST_ENTRY *NextChildNodeLink; PCI_RESOURCE_NODE *TempNode; // @@ -1064,12 +1065,13 @@ DegradeResource ( ChildNodeLink = Mem64Node->ChildList.ForwardLink; while (ChildNodeLink != &Mem64Node->ChildList) { TempNode = RESOURCE_NODE_FROM_LINK (ChildNodeLink); + NextChildNodeLink = ChildNodeLink->ForwardLink; if (TempNode->PciDev == Temp) { RemoveEntryList (ChildNodeLink); InsertResourceNode (Mem32Node, TempNode); } - ChildNodeLink = TempNode->Link.ForwardLink; + ChildNodeLink = NextChildNodeLink; } } @@ -1077,12 +1079,13 @@ DegradeResource ( ChildNodeLink = PMem64Node->ChildList.ForwardLink; while (ChildNodeLink != &PMem64Node->ChildList) { TempNode = RESOURCE_NODE_FROM_LINK (ChildNodeLink); + NextChildNodeLink = ChildNodeLink->ForwardLink; if (TempNode->PciDev == Temp) { RemoveEntryList (ChildNodeLink); InsertResourceNode (PMem32Node, TempNode); } - ChildNodeLink = TempNode->Link.ForwardLink; + ChildNodeLink = NextChildNodeLink; } }