+ if (gFullEnumeration) {\r
+ //\r
+ // Get the rootbridge Io protocol to find the host bridge handle\r
+ //\r
+ Status = gBS->OpenProtocol (\r
+ Controller,\r
+ &gEfiPciRootBridgeIoProtocolGuid,\r
+ (VOID **) &PciRootBridgeIo,\r
+ gPciBusDriverBinding.DriverBindingHandle,\r
+ Controller,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
+\r
+ if (!EFI_ERROR (Status)) {\r
+ Status = PciEnumerator (Controller, PciRootBridgeIo->ParentHandle);\r
+ }\r
+ } else {\r
+ //\r
+ // If PCI bus has already done the full enumeration, never do it again\r
+ //\r
+ Status = PciEnumeratorLight (Controller);\r
+ }\r