diff options
author | zbb <zbb@FreeBSD.org> | 2016-01-28 16:58:49 +0000 |
---|---|---|
committer | zbb <zbb@FreeBSD.org> | 2016-01-28 16:58:49 +0000 |
commit | 792baee6b7e046d5fba07463a8c505674df55600 (patch) | |
tree | 53f1d0928e06271614d4dff0918a6d6706fa765f | |
parent | 482bbdb4222e936ab0ab18b5b14a366b4339aca4 (diff) | |
download | FreeBSD-src-792baee6b7e046d5fba07463a8c505674df55600.zip FreeBSD-src-792baee6b7e046d5fba07463a8c505674df55600.tar.gz |
Fix VNIC enumeration after r294993 and r294990
ofw_bus_get_node() must be tested against negative values since
missing parent bus method will result in calling the default method
which simply returns (-1): sys/dev/ofw/ofw_bus_if.m
This was lost in the review process.
Obtained from: Semihalf
Sponsored by: Cavium
-rw-r--r-- | sys/arm64/cavium/thunder_pcie_fdt.c | 4 | ||||
-rw-r--r-- | sys/dev/vnic/thunder_bgx_fdt.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/sys/arm64/cavium/thunder_pcie_fdt.c b/sys/arm64/cavium/thunder_pcie_fdt.c index bde4537..f1624f6 100644 --- a/sys/arm64/cavium/thunder_pcie_fdt.c +++ b/sys/arm64/cavium/thunder_pcie_fdt.c @@ -276,7 +276,7 @@ thunder_pcie_ofw_bus_alloc_res(device_t bus, device_t child, int type, int *rid, int i; /* For PCIe devices that do not have FDT nodes, use PCIB method */ - if (ofw_bus_get_node(child) == 0) { + if ((int)ofw_bus_get_node(child) <= 0) { return (thunder_pcie_alloc_resource(bus, child, type, rid, start, end, count, flags)); } @@ -329,7 +329,7 @@ thunder_pcie_ofw_bus_rel_res(device_t bus, device_t child, int type, int rid, { /* For PCIe devices that do not have FDT nodes, use PCIB method */ - if (ofw_bus_get_node(child) == 0) { + if ((int)ofw_bus_get_node(child) <= 0) { return (thunder_pcie_release_resource(bus, child, type, rid, res)); } diff --git a/sys/dev/vnic/thunder_bgx_fdt.c b/sys/dev/vnic/thunder_bgx_fdt.c index 23f5e41..ec6e68f 100644 --- a/sys/dev/vnic/thunder_bgx_fdt.c +++ b/sys/dev/vnic/thunder_bgx_fdt.c @@ -244,7 +244,7 @@ bgx_fdt_find_node(struct bgx *bgx) } node = ofw_bus_get_node(root_pcib); - if (node == 0) { + if ((int)node <= 0) { device_printf(bgx->dev, "No parent FDT node for BGX\n"); goto out; } |