diff options
Diffstat (limited to 'arch/sparc')
| -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 | } |
