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 <treding@nvidia.com> Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
1eebd14b79
commit
042b83d4c5
@ -42,12 +42,16 @@ void pci_header_show_brief(pci_dev_t dev);
|
|||||||
*/
|
*/
|
||||||
void pciinfo(int BusNum, int ShortPCIListing)
|
void pciinfo(int BusNum, int ShortPCIListing)
|
||||||
{
|
{
|
||||||
|
struct pci_controller *hose = pci_bus_to_hose(BusNum);
|
||||||
int Device;
|
int Device;
|
||||||
int Function;
|
int Function;
|
||||||
unsigned char HeaderType;
|
unsigned char HeaderType;
|
||||||
unsigned short VendorID;
|
unsigned short VendorID;
|
||||||
pci_dev_t dev;
|
pci_dev_t dev;
|
||||||
|
|
||||||
|
if (!hose)
|
||||||
|
return;
|
||||||
|
|
||||||
printf("Scanning PCI devices on bus %d\n", BusNum);
|
printf("Scanning PCI devices on bus %d\n", BusNum);
|
||||||
|
|
||||||
if (ShortPCIListing) {
|
if (ShortPCIListing) {
|
||||||
|
Loading…
Reference in New Issue
Block a user