diff options
Diffstat (limited to 'arch/ppc64/kernel/prom_init.c')
-rw-r--r-- | arch/ppc64/kernel/prom_init.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/ppc64/kernel/prom_init.c b/arch/ppc64/kernel/prom_init.c index b0b784f9a4ea..35ec42de962e 100644 --- a/arch/ppc64/kernel/prom_init.c +++ b/arch/ppc64/kernel/prom_init.c | |||
@@ -1555,6 +1555,12 @@ static void __init scan_dt_build_strings(phandle node, unsigned long *mem_start, | |||
1555 | } | 1555 | } |
1556 | } | 1556 | } |
1557 | 1557 | ||
1558 | /* | ||
1559 | * The Open Firmware 1275 specification states properties must be 31 bytes or | ||
1560 | * less, however not all firmwares obey this. Make it 64 bytes to be safe. | ||
1561 | */ | ||
1562 | #define MAX_PROPERTY_NAME 64 | ||
1563 | |||
1558 | static void __init scan_dt_build_struct(phandle node, unsigned long *mem_start, | 1564 | static void __init scan_dt_build_struct(phandle node, unsigned long *mem_start, |
1559 | unsigned long *mem_end) | 1565 | unsigned long *mem_end) |
1560 | { | 1566 | { |
@@ -1564,7 +1570,7 @@ static void __init scan_dt_build_struct(phandle node, unsigned long *mem_start, | |||
1564 | unsigned long soff; | 1570 | unsigned long soff; |
1565 | unsigned char *valp; | 1571 | unsigned char *valp; |
1566 | unsigned long offset = reloc_offset(); | 1572 | unsigned long offset = reloc_offset(); |
1567 | char pname[32]; | 1573 | char pname[MAX_PROPERTY_NAME]; |
1568 | char *path; | 1574 | char *path; |
1569 | 1575 | ||
1570 | path = RELOC(prom_scratch); | 1576 | path = RELOC(prom_scratch); |