From 042b83d4c502d17db40f1fa4f6d9b6cb86c653d2 Mon Sep 17 00:00:00 2001 From: Thierry Reding Date: Wed, 12 Nov 2014 18:26:48 -0700 Subject: pci: Abort early if bus does not exist When listing the devices on a PCI bus, the current code will blindly try to access all devices. Internally this causes pci_bus_to_hose() to be repeatedly called and output an error message every time. Prevent this by calling pci_bus_to_hose() once and abort early if no bus was found. Signed-off-by: Thierry Reding Signed-off-by: Simon Glass diff --git a/common/cmd_pci.c b/common/cmd_pci.c index a1ba42e..5a6048c 100644 --- a/common/cmd_pci.c +++ b/common/cmd_pci.c @@ -42,12 +42,16 @@ void pci_header_show_brief(pci_dev_t dev); */ void pciinfo(int BusNum, int ShortPCIListing) { + struct pci_controller *hose = pci_bus_to_hose(BusNum); int Device; int Function; unsigned char HeaderType; unsigned short VendorID; pci_dev_t dev; + if (!hose) + return; + printf("Scanning PCI devices on bus %d\n", BusNum); if (ShortPCIListing) { -- cgit v0.10.2