From d52e8dcad3bcfcbfb79f99a21dfe08e0d249e607 Mon Sep 17 00:00:00 2001 From: Bob Breuer Date: Mon, 17 Jul 2006 17:05:56 -0700 Subject: [PATCH] --- yaml --- r: 32763 b: refs/heads/master c: f7785a64d117951e4c2bf9418d8c1dd59fe53b36 h: refs/heads/master i: 32761: dc4fd95290d1b1d84fbc8ca4f8e2698ecf0e0be1 32759: 12ed7ca02e3f3a9389e6b950dd3b2ce35cff0621 v: v3 --- [refs] | 2 +- trunk/arch/sparc/kernel/prom.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 282352c9c550..69fdb557aafc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bda2f7b4801964351253706d1a87e4d2110829a5 +refs/heads/master: f7785a64d117951e4c2bf9418d8c1dd59fe53b36 diff --git a/trunk/arch/sparc/kernel/prom.c b/trunk/arch/sparc/kernel/prom.c index 4b06dcb00ebd..4ca9e5fc97f4 100644 --- a/trunk/arch/sparc/kernel/prom.c +++ b/trunk/arch/sparc/kernel/prom.c @@ -444,6 +444,7 @@ static struct property * __init build_one_prop(phandle node, char *prev, char *s static struct property *tmp = NULL; struct property *p; int len; + const char *name; if (tmp) { p = tmp; @@ -456,19 +457,21 @@ static struct property * __init build_one_prop(phandle node, char *prev, char *s p->name = (char *) (p + 1); if (special_name) { + strcpy(p->name, special_name); p->length = special_len; p->value = prom_early_alloc(special_len); memcpy(p->value, special_val, special_len); } else { if (prev == NULL) { - prom_firstprop(node, p->name); + name = prom_firstprop(node, NULL); } else { - prom_nextprop(node, prev, p->name); + name = prom_nextprop(node, prev, NULL); } - if (strlen(p->name) == 0) { + if (strlen(name) == 0) { tmp = p; return NULL; } + strcpy(p->name, name); p->length = prom_getproplen(node, p->name); if (p->length <= 0) { p->length = 0;