diff options
| author | Nathan Whitehorn <nwhitehorn@FreeBSD.org> | 2013-10-26 20:06:50 +0000 |
|---|---|---|
| committer | Nathan Whitehorn <nwhitehorn@FreeBSD.org> | 2013-10-26 20:06:50 +0000 |
| commit | 94f33b0ab65bc8e827f6ea2d4be2d2c5fa5f5805 (patch) | |
| tree | 74af02da88caf414e4f78962ede46a442c05c2c9 /sys/dev/uart/uart_cpu_fdt.c | |
| parent | c2788c07bfa7d5e4a2febdb11a1f447dcb696c7b (diff) | |
Notes
Diffstat (limited to 'sys/dev/uart/uart_cpu_fdt.c')
| -rw-r--r-- | sys/dev/uart/uart_cpu_fdt.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/sys/dev/uart/uart_cpu_fdt.c b/sys/dev/uart/uart_cpu_fdt.c index 57ad6ec63773..49a49cea435f 100644 --- a/sys/dev/uart/uart_cpu_fdt.c +++ b/sys/dev/uart/uart_cpu_fdt.c @@ -139,14 +139,19 @@ uart_cpu_getdev(int devtype, struct uart_devinfo *di) /* * Retrieve /chosen/std{in,out}. */ - if ((chosen = OF_finddevice("/chosen")) == -1) - return (ENXIO); - for (name = propnames; *name != NULL; name++) { - if (phandle_chosen_propdev(chosen, *name, &node) == 0) - break; + node = -1; + if ((chosen = OF_finddevice("/chosen")) != -1) { + for (name = propnames; *name != NULL; name++) { + if (phandle_chosen_propdev(chosen, *name, &node) == 0) + break; + } } - if (*name == NULL) + if (chosen == -1 || *name == NULL) + node = OF_finddevice("serial0"); /* Last ditch */ + + if (node == -1) /* Can't find anything */ return (ENXIO); + /* * Retrieve serial attributes. */ |
