Preset (clear) the ranges we're supposed to fill from the FDT. If a

particular range (either I/O memory or I/O port) is not defined in
the FDT, we're not handing uninitialized structures back to our caller.
This commit is contained in:
Marcel Moolenaar 2012-05-24 20:24:49 +00:00
parent a4dcff16c8
commit 695d8e87f2
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=235930

View File

@ -100,6 +100,14 @@ fdt_pci_ranges_decode(phandle_t node, struct fdt_pci_range *io_space,
size_cells);
tuples = len / tuple_size;
/*
* Initialize the ranges so that we don't have to worry about
* having them all defined in the FDT. In particular, it is
* perfectly fine not to want I/O space on PCI busses.
*/
bzero(io_space, sizeof(*io_space));
bzero(mem_space, sizeof(*mem_space));
rangesptr = &ranges[0];
offset_cells = 0;
for (i = 0; i < tuples; i++) {