diff options
author | gber <gber@FreeBSD.org> | 2012-09-14 09:33:35 +0000 |
---|---|---|
committer | gber <gber@FreeBSD.org> | 2012-09-14 09:33:35 +0000 |
commit | 5dd175c3fd9e3e14cbf3982b8553df7c3fbb18f3 (patch) | |
tree | 3cca4b9f51fe24be5f92c095c2ae2e593227bdf0 /sys/dev/fdt | |
parent | b08d96186e4b3d0553ddc80760b3a104a0df464c (diff) | |
download | FreeBSD-src-5dd175c3fd9e3e14cbf3982b8553df7c3fbb18f3.zip FreeBSD-src-5dd175c3fd9e3e14cbf3982b8553df7c3fbb18f3.tar.gz |
Set busaddr and bussize to 0 when fdt_get_range() fails.
Obtained from: Semihalf
Diffstat (limited to 'sys/dev/fdt')
-rw-r--r-- | sys/dev/fdt/fdt_common.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/fdt/fdt_common.c b/sys/dev/fdt/fdt_common.c index e257851..cc55c65 100644 --- a/sys/dev/fdt/fdt_common.c +++ b/sys/dev/fdt/fdt_common.c @@ -431,7 +431,10 @@ fdt_reg_to_rl(phandle_t node, struct resource_list *rl) if (fdt_addrsize_cells(OF_parent(node), &addr_cells, &size_cells) != 0) return (ENXIO); - fdt_get_range(OF_parent(node), 0, &busaddr, &bussize); + if (fdt_get_range(OF_parent(node), 0, &busaddr, &bussize)) { + busaddr = 0; + bussize = 0; + } tuple_size = sizeof(pcell_t) * (addr_cells + size_cells); tuples = OF_getprop_alloc(node, "reg", tuple_size, (void **)®); |