Convert CONFIG_SYS_MONITOR_LEN to Kconfig
[platform/kernel/u-boot.git] / cmd / pci.c
index a99e8f8..58a7475 100644 (file)
--- a/cmd/pci.c
+++ b/cmd/pci.c
@@ -358,6 +358,9 @@ static int pci_cfg_display(struct udevice *dev, ulong addr,
        if (length == 0)
                length = 0x40 / byte_size; /* Standard PCI config space */
 
+       if (addr >= 4096)
+               return 1;
+
        /* Print the lines.
         * once, and all accesses are with the specified bus width.
         */
@@ -378,7 +381,10 @@ static int pci_cfg_display(struct udevice *dev, ulong addr,
                        rc = 1;
                        break;
                }
-       } while (nbytes > 0);
+       } while (nbytes > 0 && addr < 4096);
+
+       if (rc == 0 && nbytes > 0)
+               return 1;
 
        return (rc);
 }
@@ -390,6 +396,9 @@ static int pci_cfg_modify(struct udevice *dev, ulong addr, ulong size,
        int     nbytes;
        ulong val;
 
+       if (addr >= 4096)
+               return 1;
+
        /* Print the address, followed by value.  Then accept input for
         * the next value.  A non-converted value exits.
         */
@@ -427,7 +436,10 @@ static int pci_cfg_modify(struct udevice *dev, ulong addr, ulong size,
                                        addr += size;
                        }
                }
-       } while (nbytes);
+       } while (nbytes && addr < 4096);
+
+       if (nbytes)
+               return 1;
 
        return 0;
 }
@@ -440,7 +452,6 @@ static const struct pci_flag_info {
        { PCI_REGION_PREFETCH, "prefetch" },
        { PCI_REGION_SYS_MEMORY, "sysmem" },
        { PCI_REGION_RO, "readonly" },
-       { PCI_REGION_IO, "io" },
 };
 
 static void pci_show_regions(struct udevice *bus)