From 462ab7c4f1d1309ef98a4630b120be56fefe9292 Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Tue, 9 Jul 2013 10:46:52 -0700 Subject: [PATCH] Log device path during resource allocation Systems are hanging in dev_configure() without a log to indicate which device is being processed. Add some logging points to save the device path before talking to the device so we can narrow in on which device is the problem. BUG=chrome-os-partner:20680 BRANCH=none TEST=manual: emerge-falco chromeos-coreboot-falco Change-Id: I3751c19a1ea68cdccbc33e4f6b2eeddd1bd9f2e4 Signed-off-by: Duncan Laurie Reviewed-on: https://gerrit.chromium.org/gerrit/61296 Reviewed-by: Aaron Durbin --- src/device/device.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/device/device.c b/src/device/device.c index 6db1f5a79f..d0f415634c 100644 --- a/src/device/device.c +++ b/src/device/device.c @@ -195,12 +195,14 @@ static void read_resources(struct bus *bus) dev_path(curdev)); continue; } + post_log_path(curdev); curdev->ops->read_resources(curdev); /* Read in the resources behind the current device's links. */ for (link = curdev->link_list; link; link = link->next) read_resources(link); } + post_log_clear(); printk(BIOS_SPEW, "%s read_resources bus %d link: %d done\n", dev_path(bus->dev), bus->secondary, bus->link_num); } @@ -1007,6 +1009,7 @@ void dev_configure(void) for (child = root->link_list->children; child; child = child->sibling) { if (!(child->path.type == DEVICE_PATH_DOMAIN)) continue; + post_log_path(child); for (res = child->resource_list; res; res = res->next) { if (res->flags & IORESOURCE_FIXED) continue; @@ -1053,6 +1056,7 @@ void dev_configure(void) for (child = root->link_list->children; child; child = child->sibling) { if (!(child->path.type == DEVICE_PATH_DOMAIN)) continue; + post_log_path(child); for (res = child->resource_list; res; res = res->next) { if (res->flags & IORESOURCE_FIXED) continue;