Secondary or subordinate bus cannot be zero. Zero value could indicate either invalid secondary bus value or the fact that secondary bus value was not filled or indicates non-compliant PCI-to-PCI bridge. This change makes tree output better readable when bus numbers are not known or not provided. --- ls-tree.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ls-tree.c b/ls-tree.c index fede581156e4..f8154a2b034a 100644 --- a/ls-tree.c +++ b/ls-tree.c @@ -258,7 +258,9 @@ show_tree_dev(struct device *d, char *line, char *p) for (b=&host_bridge; b; b=b->chain) if (b->br_dev == d) { - if (b->secondary == b->subordinate) + if (b->secondary == 0) + p = tree_printf(line, p, "-"); + else if (b->secondary == b->subordinate) p = tree_printf(line, p, "-[%02x]-", b->secondary); else p = tree_printf(line, p, "-[%02x-%02x]-", b->secondary, b->subordinate); -- 2.20.1