diff options
| author | Ken Smith <kensmith@FreeBSD.org> | 2005-10-27 20:58:50 +0000 |
|---|---|---|
| committer | Ken Smith <kensmith@FreeBSD.org> | 2005-10-27 20:58:50 +0000 |
| commit | 18d2ca12a1cf1de7991c38fd1bd689c71d2c6480 (patch) | |
| tree | 36fd93d0489e449988a98a844bf25c4b81671e57 /sys/dev | |
| parent | 8cb3b5729f11f39e85909562efd0464edbab4887 (diff) | |
Notes
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/uart/uart_bus_ebus.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/sys/dev/uart/uart_bus_ebus.c b/sys/dev/uart/uart_bus_ebus.c index 16a4411dccda..6da03a1c351f 100644 --- a/sys/dev/uart/uart_bus_ebus.c +++ b/sys/dev/uart/uart_bus_ebus.c @@ -93,6 +93,21 @@ uart_ebus_probe(device_t dev) device_disable(dev); return (ENXIO); } + /* + * XXX Hack + * On E250 the IRQ of the on-board HME gets erroneously + * also assigned to the second NS16550 due to interrupt + * routing problems at some layer. As uart(4) uses a + * INTR_FAST handler while hme(4) doesn't the IRQ can't + * be actually "shared" causing hme(4) to not attach to + * the on-board HME. Prefer the on-board HME at the + * expense of the mouse port for now. + */ + if (!strcmp(sparc64_model, "SUNW,Ultra-250") && + device_get_unit(dev) % 2 == 1) { + device_disable(dev); + return (ENXIO); + } sc->sc_class = &uart_ns8250_class; return (uart_bus_probe(dev, 0, 0, 0, 0)); } |
