diff options
| author | Wojciech Macek <wma@FreeBSD.org> | 2021-04-09 07:28:44 +0000 |
|---|---|---|
| committer | Marcin Wojtas <mw@FreeBSD.org> | 2021-10-14 16:09:44 +0000 |
| commit | 8f2e39b9d3ecbd9653f859d9261745059f2b9071 (patch) | |
| tree | cc959141ae01e3cc23992edd2b128d12691afda6 /sys/dev/pci | |
| parent | cdc3dfd02544117b3fc13c629cf7a8a70769687b (diff) | |
Diffstat (limited to 'sys/dev/pci')
| -rw-r--r-- | sys/dev/pci/pci_dw.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/dev/pci/pci_dw.c b/sys/dev/pci/pci_dw.c index 904e36caff20..973a56239473 100644 --- a/sys/dev/pci/pci_dw.c +++ b/sys/dev/pci/pci_dw.c @@ -350,6 +350,18 @@ pci_dw_decode_ranges(struct pci_dw_softc *sc, struct ofw_pci_range *ranges, " Not all required ranges are found in DT\n"); return (ENXIO); } + if (sc->io_range.size > UINT32_MAX) { + device_printf(sc->dev, + "ATU IO window size is too large. Up to 4GB windows " + "are supported, trimming window size to 4GB\n"); + sc->io_range.size = UINT32_MAX; + } + if (sc->mem_range.size > UINT32_MAX) { + device_printf(sc->dev, + "ATU MEM window size is too large. Up to 4GB windows " + "are supported, trimming window size to 4GB\n"); + sc->mem_range.size = UINT32_MAX; + } return (0); } |
