Index: com_ebus.c =================================================================== RCS file: /cvs/src/sys/arch/sparc64/dev/com_ebus.c,v retrieving revision 1.23 diff -u -p -r1.23 com_ebus.c --- com_ebus.c 5 Dec 2019 12:46:54 -0000 1.23 +++ com_ebus.c 15 Jan 2021 02:39:08 -0000 @@ -65,6 +65,21 @@ static char *com_names[] = { NULL }; +static inline int +com_match_ikkaku(void) +{ + char model[80]; + int i; + + i = OF_getproplen(findroot(), "model"); + if (i == 0) + return (0); + if (OF_getprop(findroot(), "model", model, sizeof(model)) != i) + return (0); + + return (strcmp(model, "IKKAKU") == 0); +} + int com_ebus_match(struct device *parent, void *match, void *aux) { @@ -77,6 +92,10 @@ com_ebus_match(struct device *parent, vo if (strcmp(ea->ea_name, "serial") == 0) { char compat[80]; + + /* blacklist com on m3000s because it causes hardware faults */ + if (com_match_ikkaku()) + return (0); /* Could be anything. */ if ((i = OF_getproplen(ea->ea_node, "compatible")) &&