Message ID | 1415842036-28471-3-git-send-email-sjg@chromium.org |
---|---|
State | Accepted |
Delegated to: | Tom Rini |
Headers | show |
On Wed, Nov 12, 2014 at 06:26:48PM -0700, Simon Glass wrote: > From: Thierry Reding <treding@nvidia.com> > > 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 <treding@nvidia.com> > Signed-off-by: Simon Glass <sjg@chromium.org> Applied to u-boot/master, thanks!
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) {