Commit 3bc5ab9b authored by Benjamin Herrenschmidt's avatar Benjamin Herrenschmidt Committed by Linus Torvalds

powerpc: Fix unterminated of_device_id array in legacy_serial.c

A recent patch to legacy_serial.c factored out some code by
using the of_match_node() facility to match a node against
an array of possible matches. However, the patch didn't properly
terminate the array causing potential crashes in cases where no
match is found. In addition, the name of the array was poorly
chosen for a static symbol making debugging harder.
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 0fe1ef24
...@@ -33,13 +33,14 @@ static struct legacy_serial_info { ...@@ -33,13 +33,14 @@ static struct legacy_serial_info {
phys_addr_t taddr; phys_addr_t taddr;
} legacy_serial_infos[MAX_LEGACY_SERIAL_PORTS]; } legacy_serial_infos[MAX_LEGACY_SERIAL_PORTS];
static struct __initdata of_device_id parents[] = { static struct __initdata of_device_id legacy_serial_parents[] = {
{.type = "soc",}, {.type = "soc",},
{.type = "tsi-bridge",}, {.type = "tsi-bridge",},
{.type = "opb", }, {.type = "opb", },
{.compatible = "ibm,opb",}, {.compatible = "ibm,opb",},
{.compatible = "simple-bus",}, {.compatible = "simple-bus",},
{.compatible = "wrs,epld-localbus",}, {.compatible = "wrs,epld-localbus",},
{},
}; };
static unsigned int legacy_serial_count; static unsigned int legacy_serial_count;
...@@ -327,7 +328,7 @@ void __init find_legacy_serial_ports(void) ...@@ -327,7 +328,7 @@ void __init find_legacy_serial_ports(void)
struct device_node *parent = of_get_parent(np); struct device_node *parent = of_get_parent(np);
if (!parent) if (!parent)
continue; continue;
if (of_match_node(parents, parent) != NULL) { if (of_match_node(legacy_serial_parents, parent) != NULL) {
index = add_legacy_soc_port(np, np); index = add_legacy_soc_port(np, np);
if (index >= 0 && np == stdout) if (index >= 0 && np == stdout)
legacy_serial_console = index; legacy_serial_console = index;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment