Split a print statement that called dev_path twice, and add a warning comment.
authorMyles Watson <mylesgw@gmail.com>
Thu, 29 Oct 2009 21:27:43 +0000 (21:27 +0000)
committerMyles Watson <mylesgw@gmail.com>
Thu, 29 Oct 2009 21:27:43 +0000 (21:27 +0000)
Signed-off-by: Myles Watson <mylesgw@gmail.com>
Acked-by: Myles Watson <mylesgw@gmail.com>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4889 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

src/devices/device_util.c

index 71cd436f0cb20a36926ae9df1ef99b3398406341..a73055659367bc1b6d1afacceabab9323895bf27 100644 (file)
@@ -149,6 +149,8 @@ struct device *dev_find_class(unsigned int class, struct device *from)
        return from;
 }
 
+/* Warning: This function uses a static buffer.  Don't call it more than once
+ * from the same print statement! */
 
 const char *dev_path(device_t dev)
 {
@@ -211,8 +213,7 @@ const char *dev_path(device_t dev)
 const char *bus_path(struct bus *bus)
 {
        static char buffer[BUS_PATH_MAX];
-       sprintf(buffer, "%s,%d",
-               dev_path(bus->dev), bus->link);
+       sprintf(buffer, "%s,%d", dev_path(bus->dev), bus->link);
        return buffer;
 }
 
@@ -566,10 +567,10 @@ static void resource_tree(struct device *root, int debug_level, int depth)
                indent[i] = ' ';
        indent[i] = '\0';
 
-       do_printk(BIOS_DEBUG, "%s%s links %x child on link 0 %s\n",
-                 indent, dev_path(root), root->links,
-                 root->link[0].children ? dev_path(root->link[0].children) :
-                                         "NULL");
+       do_printk(BIOS_DEBUG, "%s%s links %x child on link 0", indent,
+                 dev_path(root), root->links);
+       do_printk(BIOS_DEBUG, " %s\n", root->link[0].children ?
+                 dev_path(root->link[0].children) : "NULL");
        for (i = 0; i < root->resources; i++) {
                do_printk(BIOS_DEBUG,
                          "%s%s resource base %llx size %llx align %d gran %d limit %llx flags %lx index %lx\n",