[DNX#2006040142001347] [U-Boot-Users] [PATCH] Fixing 'pci' command output [...]
DENX Support System
support at denx.de
Sat Apr 1 02:00:06 CEST 2006
Hello list,
inside the automatic U-Boot patch tracking system a new ticket
[DNX#2006040142001347] was created:
<snip>
> hi!
>
> currently a series of 'pci_bus_to_hose() failed' messages are printed
> when
> pciinfo() is called with a invalid (out-of-bounds) bus number.
>
> this patch fixes the output of the 'pci' command by
> *) checking that the given bus number is actually a number
> *) checking that the given bus number is not out-of-bounds before doing
> a
> scan
> *) printing 'pci_bus_to_hose() failed' only when DEBUG is defined
>
>
> Signed-off-by: Horst Kronstorfer <hkronsto <at> frequentis.com>
>
> CHANGELOG
>
> * Fixing 'pci' command output:
> Patch by Horst Kronstorfer, 26 Jan 2006
>
> diff --git a/common/cmd_pci.c b/common/cmd_pci.c
> index 4508546..e0e166c 100644
> --- a/common/cmd_pci.c
> +++ b/common/cmd_pci.c
> @@ -71,6 +71,11 @@ void pciinfo(int BusNum, int ShortPCILis
> unsigned short VendorID;
> pci_dev_t dev;
>
> + if (pci_bus_to_hose(BusNum) == NULL) {
> + printf("Error: bus no. %d does not exist\n", BusNum);
> + return;
> + }
> +
> printf("Scanning PCI devices on bus %d\n", BusNum);
>
> if (ShortPCIListing) {
> @@ -511,9 +516,17 @@ int do_pci (cmd_tbl_t *cmdtp, int flag,
> if (argv[argc-1][0] == 'l') {
> value = 0;
> argc--;
> + } else if (argv[argc-1][0] == 's')
> + argc--;
> + if (argc > 1) {
> + char *endp;
> + bdf = simple_strtoul(argv[1], &endp,
> 16);
> + if (*endp != '\0') {
> + printf("Error: \`%s\' is not a
> valid
> "
> + "bus no.\n", argv[1]);
> + return 0;
> + }
> }
> - if (argc > 1)
> - bdf = simple_strtoul(argv[1], NULL, 16);
> }
> pciinfo(bdf, value);
> return 0;
> diff --git a/drivers/pci.c b/drivers/pci.c
> index 5360030..34b4055 100644
> --- a/drivers/pci.c
> +++ b/drivers/pci.c
> @@ -142,7 +142,7 @@ struct pci_controller *pci_bus_to_hose (
> if (bus >= hose->first_busno && bus <= hose->last_busno)
> return hose;
>
> - printf("pci_bus_to_hose() failed\n");
> + debug("pci_bus_to_hose() failed\n");
> return NULL;
> }
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc. Do you grep through log
> files
> for problems? Stop! Download the new AJAX search engine that makes
> searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642
> _______________________________________________
> U-Boot-Users mailing list
> U-Boot-Users at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/u-boot-users
</snip>
Your U-Boot support team
More information about the U-Boot
mailing list