On my G5 the maxds(4) control register read fails. I guess because
there is no such chip on the mainboard though the eeprom -p claims
there is one (or it's broken).
In case maxds(4) can't read the control register at attach time
we should return (like lmtemp(4) does it) instead of continue to
setup a task which will continue to fail as well on every refresh
call.
Index: sys/dev/i2c/ds1631.c
===================================================================
RCS file: /cvs/src/sys/dev/i2c/ds1631.c,v
retrieving revision 1.11
diff -u -p -u -p -r1.11 ds1631.c
--- sys/dev/i2c/ds1631.c 12 Aug 2009 17:13:30 -0000 1.11
+++ sys/dev/i2c/ds1631.c 11 May 2016 18:50:11 -0000
@@ -108,6 +108,10 @@ dostart:
sc->sc_addr, &cmd, sizeof cmd, NULL, 0, 0);
printf(", starting");
}
+ } else {
+ iic_release_bus(sc->sc_tag, 0);
+ printf(", fails to respond\n");
+ return;
}
iic_release_bus(sc->sc_tag, 0);