From patchwork Mon Jan 26 02:30:23 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Miller X-Patchwork-Id: 20251 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by ozlabs.org (Postfix) with ESMTP id 691ABDDF87 for ; Mon, 26 Jan 2009 13:30:23 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751068AbZAZCaW (ORCPT ); Sun, 25 Jan 2009 21:30:22 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751127AbZAZCaV (ORCPT ); Sun, 25 Jan 2009 21:30:21 -0500 Received: from 74-93-104-97-Washington.hfc.comcastbusiness.net ([74.93.104.97]:37158 "EHLO sunset.davemloft.net" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1751068AbZAZCaV (ORCPT ); Sun, 25 Jan 2009 21:30:21 -0500 Received: from localhost (localhost [127.0.0.1]) by sunset.davemloft.net (Postfix) with ESMTP id 9C779C8C0DD; Sun, 25 Jan 2009 18:30:23 -0800 (PST) Date: Sun, 25 Jan 2009 18:30:23 -0800 (PST) Message-Id: <20090125.183023.179806550.davem@davemloft.net> To: Hermann.Lauer@iwr.uni-heidelberg.de Cc: sparclinux@vger.kernel.org Subject: Re: Sunfire V880 and 480R 2.6.27.x startup hangs From: David Miller In-Reply-To: <20090122132934.GB598@lemon.iwr.uni-heidelberg.de> References: <20081219085622.GA20721@lemon.iwr.uni-heidelberg.de> <20090119.222514.261424510.davem@davemloft.net> <20090122132934.GB598@lemon.iwr.uni-heidelberg.de> X-Mailer: Mew version 6.1 on Emacs 22.1 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Sender: sparclinux-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: sparclinux@vger.kernel.org From: Hermann Lauer Date: Thu, 22 Jan 2009 14:29:34 +0100 > Compiled 2.6.27.12 today without the CON_BOOT flag and booted with the > options above. The hang seems to be in of_bus_driver_init, see > console output below. I wonder what's getting tripped up in there :-) Please add this patch and get the new console output, thanks! --- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/arch/sparc64/kernel/of_device.c b/arch/sparc64/kernel/of_device.c index 100ebd5..fefd415 100644 --- a/arch/sparc64/kernel/of_device.c +++ b/arch/sparc64/kernel/of_device.c @@ -818,10 +818,16 @@ static struct of_device * __init scan_one_device(struct device_node *dp, static void __init scan_tree(struct device_node *dp, struct device *parent) { while (dp) { - struct of_device *op = scan_one_device(dp, parent); - - if (op) + struct of_device *op; + + printk(KERN_ERR "scan_tree: Scanning device %p:[%s]\n", + dp, (dp ? dp->full_name : "")); + op = scan_one_device(dp, parent); + if (op) { + printk(KERN_ERR "scan_tree: Recursing to child %p\n", + dp->child); scan_tree(dp->child, &op->dev); + } dp = dp->sibling; } @@ -832,10 +838,12 @@ static void __init scan_of_devices(void) struct device_node *root = of_find_node_by_path("/"); struct of_device *parent; + printk(KERN_ERR "Building root from %p\n", root); parent = scan_one_device(root, NULL); if (!parent) return; + printk(KERN_ERR "Scanning tree...\n"); scan_tree(root->child, &parent->dev); } @@ -843,18 +851,26 @@ static int __init of_bus_driver_init(void) { int err; + printk(KERN_ERR "Setting up of bus\n"); err = of_bus_type_init(&of_platform_bus_type, "of"); #ifdef CONFIG_PCI - if (!err) + if (!err) { + printk(KERN_ERR "Setting up ebus bus\n"); err = of_bus_type_init(&ebus_bus_type, "ebus"); + } #endif #ifdef CONFIG_SBUS - if (!err) + if (!err) { + printk(KERN_ERR "Setting up sbus bus\n"); err = of_bus_type_init(&sbus_bus_type, "sbus"); + } #endif - if (!err) + if (!err) { + printk(KERN_ERR "scan_of_devices()\n"); scan_of_devices(); + printk(KERN_ERR "Done with scan_of_devices()\n"); + } return err; }