On 2013/05/04 01:40, Stuart Henderson wrote: > --- uthum.c 15 Apr 2013 09:23:02 -0000 1.19 > +++ uthum.c 4 May 2013 00:19:28 -0000 > @@ -515,7 +515,7 @@ uthum_ntc_getdata(struct uthum_softc *sc > return EIO; > > /* get sensor value */ > - if (uthum_read_data(sc, CMD_GETDATA_NTC, buf, sizeof(buf), 10) != 0) { > + if (uthum_read_data(sc, CMD_GETDATA_NTC, buf, sizeof(buf), 1000) != 0) { > DPRINTF(("uthum: data read fail\n")); > return EIO; > } > @@ -600,6 +600,7 @@ uthum_ntc_tuning(struct uthum_softc *sc, > } > ostate = state; > } > + tsleep(&sc->sc_sensortask, 0, "uthum", hz * 10); > > DPRINTF(("uthum: ntc tuning done. state change: 0x%.2x->0x%.2x\n", > s->cur_state, state)); >
...of course, as soon as I send the diff out, I get a handful of messages even with the huge delays uthum_ntc_getdata: broken ntc data 0x16 0x00 0x31 uthum_refresh_temperntc: data read fail uthum_ntc_getdata: broken ntc data 0x16 0x00 0x31 uthum_refresh_temperntc: data read fail uthum_ntc_getdata: broken ntc data 0x16 0x00 0x31 uthum_refresh_temperntc: data read fail but so far it has not got stuck, and the sensors stay attached. I'll re-check later...