Check for NULL before calling device_match()
authorMyles Watson <mylesgw@gmail.com>
Thu, 10 Jun 2010 04:06:52 +0000 (04:06 +0000)
committerMyles Watson <mylesgw@gmail.com>
Thu, 10 Jun 2010 04:06:52 +0000 (04:06 +0000)
It matters for multifunction devices who don't have siblings.

The error in the rumba device tree created that situation.

Signed-off-by: Myles Watson <mylesgw@gmail.com>
Acked-by: Myles Watson <mylesgw@gmail.com>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5628 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

util/sconfig/main.c

index 83b1c7ce3c4bb88e3a5a5a91acb4146a085d8f64..4b6258fbf9604a77d8d2f8e093069e970a65d080 100755 (executable)
@@ -348,7 +348,7 @@ static void pass1(FILE *fil, struct device *ptr) {
                                        fprintf(fil, "\t\t\t.dev = &%s,\n", d->name);
                                        if (d->children)
                                                fprintf(fil, "\t\t\t.children = &%s,\n", d->children->name);
-                                       if (device_match(d->next_sibling, ptr))
+                                       if (d->next_sibling && device_match(d->next_sibling, ptr))
                                                fprintf(fil, "\t\t\t.next=&%s_links[%d],\n", d->name, d->link+1);
                                        else
                                                fprintf(fil, "\t\t\t.next = NULL,\n");