linux-mips
[Top] [All Lists]

Re: [PATCH] MIPS: cavium-octeon: fix early boot hang on EBH5600 board

To: Aaro Koskinen <aaro.koskinen@nsn.com>
Subject: Re: [PATCH] MIPS: cavium-octeon: fix early boot hang on EBH5600 board
From: David Daney <ddaney.cavm@gmail.com>
Date: Thu, 31 Oct 2013 10:27:30 -0700
Cc: Ralf Baechle <ralf@linux-mips.org>, David Daney <david.daney@cavium.com>, linux-mips@linux-mips.org, Aaro Koskinen <aaro.koskinen@iki.fi>
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=gAoTiWt87ihjhxTaZW4D84ksKZ+uZH41VzSWB2o0NrY=; b=Ma2URXp5A8uSu5veYXRgSbs/Rnm2ZvYL62lcthsVlppC/Nozhgqc00D51Fj7q1wCDM tlQjFdE/7ztH7dEHUBkAA/IlH9hlxoePojnJ2xWYZt7rHrsUYGnlmtXrbLkzwzEN6ypw 1PRVmsoBw6LR5yY7FcxZHBCQ7L3WOs90hJfKSMHeBDus+KINSD4KhC59230XZMw2LFpl Qr61oa/bmUpO2wUadcHQgL4OHOGPmKRKASxncyUVn4f+sphl5O2SzzDUNcGfomi9jGrA ZSsHHX2TWK4pLiBUWKse+2Ptph0hzo/ztcONLkiG1L/Eh1bwXesgC535/dTHlmpWGmSF fg2Q==
In-reply-to: <1383142087-25995-1-git-send-email-aaro.koskinen@nsn.com>
List-archive: <http://www.linux-mips.org/archives/linux-mips/>
List-help: <mailto:ecartis@linux-mips.org?Subject=help>
List-id: linux-mips <linux-mips.eddie.linux-mips.org>
List-owner: <mailto:ralf@linux-mips.org>
List-post: <mailto:linux-mips@linux-mips.org>
List-software: Ecartis version 1.0.0
List-subscribe: <mailto:ecartis@linux-mips.org?subject=subscribe%20linux-mips>
List-unsubscribe: <mailto:ecartis@linux-mips.org?subject=unsubscribe%20linux-mips>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <1383142087-25995-1-git-send-email-aaro.koskinen@nsn.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130625 Thunderbird/17.0.7
I am looking at this, but it could be a few days before I can render an opinion about it.


On 10/30/2013 07:08 AM, Aaro Koskinen wrote:
The boot hangs early on EBH5600 board when octeon_fdt_pip_iface() is
trying enumerate a non-existant interface. We can avoid this situation
by first checking that the interface exists in the DTB.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nsn.com>
---
  arch/mips/cavium-octeon/octeon-platform.c | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/mips/cavium-octeon/octeon-platform.c 
b/arch/mips/cavium-octeon/octeon-platform.c
index 1830874..f68c75a 100644
--- a/arch/mips/cavium-octeon/octeon-platform.c
+++ b/arch/mips/cavium-octeon/octeon-platform.c
@@ -336,14 +336,14 @@ static void __init octeon_fdt_pip_iface(int pip, int idx, 
u64 *pmac)
        int p;
        int count = 0;

-       if (cvmx_helper_interface_enumerate(idx) == 0)
-               count = cvmx_helper_ports_on_interface(idx);
-
        snprintf(name_buffer, sizeof(name_buffer), "interface@%d", idx);
        iface = fdt_subnode_offset(initial_boot_params, pip, name_buffer);
        if (iface < 0)
                return;

+       if (cvmx_helper_interface_enumerate(idx) == 0)
+               count = cvmx_helper_ports_on_interface(idx);
+
        for (p = 0; p < 16; p++)
                octeon_fdt_pip_port(iface, idx, p, count - 1, pmac);
  }



<Prev in Thread] Current Thread [Next in Thread>