Commit 8fc0532a authored by Benjamin Herrenschmidt's avatar Benjamin Herrenschmidt Committed by Linus Torvalds

[PATCH] ppc64: Fix find_udbg_vterm()

The find_udbg_vterm() used to initialize the early boot console
on LPAR machines will not work properly on some recent pSeries
because the firmware is playing tricks with the "phandle" values
used to identify firmware nodes. This patch fixes that by using
the full path instead.
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 9e7e5ae0
...@@ -135,7 +135,6 @@ void udbg_init_debug_lpar(void) ...@@ -135,7 +135,6 @@ void udbg_init_debug_lpar(void)
int find_udbg_vterm(void) int find_udbg_vterm(void)
{ {
struct device_node *stdout_node; struct device_node *stdout_node;
phandle *stdout_ph;
u32 *termno; u32 *termno;
char *name; char *name;
int found = 0; int found = 0;
...@@ -143,10 +142,10 @@ int find_udbg_vterm(void) ...@@ -143,10 +142,10 @@ int find_udbg_vterm(void)
/* find the boot console from /chosen/stdout */ /* find the boot console from /chosen/stdout */
if (!of_chosen) if (!of_chosen)
return 0; return 0;
stdout_ph = (phandle *)get_property(of_chosen, "linux,stdout-package", NULL); name = (char *)get_property(of_chosen, "linux,stdout-path", NULL);
if (stdout_ph == NULL) if (name == NULL)
return 0; return 0;
stdout_node = of_find_node_by_phandle(*stdout_ph); stdout_node = of_find_node_by_path(name);
if (!stdout_node) if (!stdout_node)
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment