aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ppc/syslib/prom_init.c
diff options
context:
space:
mode:
authorDmitry Torokhov <dtor_core@ameritech.net>2005-06-06 03:21:03 -0400
committerDmitry Torokhov <dtor_core@ameritech.net>2005-06-06 03:21:03 -0400
commit3c241f8337542655ee013a661b7f1770f561d3ef (patch)
tree79dd9a5dd12d305e1be7b926d414855377d2e192 /arch/ppc/syslib/prom_init.c
parentdbf4ccd6043e58ed32fbf253fb3f0a9991e4c13a (diff)
parenteae936e21bd726f9d9555f2262d439fbcd61dccf (diff)
Automatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'arch/ppc/syslib/prom_init.c')
-rw-r--r--arch/ppc/syslib/prom_init.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/ppc/syslib/prom_init.c b/arch/ppc/syslib/prom_init.c
index 2cee87137f2e..7f15136830f4 100644
--- a/arch/ppc/syslib/prom_init.c
+++ b/arch/ppc/syslib/prom_init.c
@@ -626,8 +626,18 @@ inspect_node(phandle node, struct device_node *dad,
626 l = call_prom("package-to-path", 3, 1, node, 626 l = call_prom("package-to-path", 3, 1, node,
627 mem_start, mem_end - mem_start); 627 mem_start, mem_end - mem_start);
628 if (l >= 0) { 628 if (l >= 0) {
629 char *p, *ep;
630
629 np->full_name = PTRUNRELOC((char *) mem_start); 631 np->full_name = PTRUNRELOC((char *) mem_start);
630 *(char *)(mem_start + l) = 0; 632 *(char *)(mem_start + l) = 0;
633 /* Fixup an Apple bug where they have bogus \0 chars in the
634 * middle of the path in some properties
635 */
636 for (p = (char *)mem_start, ep = p + l; p < ep; p++)
637 if ((*p) == '\0') {
638 memmove(p, p+1, ep - p);
639 ep--;
640 }
631 mem_start = ALIGNUL(mem_start + l + 1); 641 mem_start = ALIGNUL(mem_start + l + 1);
632 } 642 }
633 643