diff options
Diffstat (limited to 'arch/sparc/kernel/prom.c')
-rw-r--r-- | arch/sparc/kernel/prom.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/sparc/kernel/prom.c b/arch/sparc/kernel/prom.c index 4ca9e5fc97f4..2cc302b6bec0 100644 --- a/arch/sparc/kernel/prom.c +++ b/arch/sparc/kernel/prom.c | |||
@@ -243,7 +243,7 @@ int of_set_property(struct device_node *dp, const char *name, void *val, int len | |||
243 | void *old_val = prop->value; | 243 | void *old_val = prop->value; |
244 | int ret; | 244 | int ret; |
245 | 245 | ||
246 | ret = prom_setprop(dp->node, name, val, len); | 246 | ret = prom_setprop(dp->node, (char *) name, val, len); |
247 | err = -EINVAL; | 247 | err = -EINVAL; |
248 | if (ret >= 0) { | 248 | if (ret >= 0) { |
249 | prop->value = new_val; | 249 | prop->value = new_val; |
@@ -477,7 +477,10 @@ static struct property * __init build_one_prop(phandle node, char *prev, char *s | |||
477 | p->length = 0; | 477 | p->length = 0; |
478 | } else { | 478 | } else { |
479 | p->value = prom_early_alloc(p->length + 1); | 479 | p->value = prom_early_alloc(p->length + 1); |
480 | prom_getproperty(node, p->name, p->value, p->length); | 480 | len = prom_getproperty(node, p->name, p->value, |
481 | p->length); | ||
482 | if (len <= 0) | ||
483 | p->length = 0; | ||
481 | ((unsigned char *)p->value)[p->length] = '\0'; | 484 | ((unsigned char *)p->value)[p->length] = '\0'; |
482 | } | 485 | } |
483 | } | 486 | } |