svn commit: r320743 - in head/sys/dev: bwi iicbus iwi
Ian Lepore
ian at FreeBSD.org
Thu Jul 6 17:03:24 UTC 2017
Author: ian
Date: Thu Jul 6 17:03:22 2017
New Revision: 320743
URL: https://svnweb.freebsd.org/changeset/base/320743
Log:
Fix drivers that assume ticks starts at zero. These drivers all have logic
similar to "if (ticks > localvar+interval) {localvar=ticks; ...}" where
localvar is initialized to zero. Ticks is initialized to a negative value
since r278230, and that leads to these if statements never being true.
Modified:
head/sys/dev/bwi/if_bwi.c
head/sys/dev/iicbus/ad7418.c
head/sys/dev/iwi/if_iwi.c
Modified: head/sys/dev/bwi/if_bwi.c
==============================================================================
--- head/sys/dev/bwi/if_bwi.c Thu Jul 6 17:01:51 2017 (r320742)
+++ head/sys/dev/bwi/if_bwi.c Thu Jul 6 17:03:22 2017 (r320743)
@@ -381,6 +381,7 @@ bwi_attach(struct bwi_softc *sc)
*/
sc->sc_fw_version = BWI_FW_VERSION3;
sc->sc_led_idle = (2350 * hz) / 1000;
+ sc->sc_led_ticks = ticks - sc->sc_led_idle;
sc->sc_led_blink = 1;
sc->sc_txpwr_calib = 1;
#ifdef BWI_DEBUG
Modified: head/sys/dev/iicbus/ad7418.c
==============================================================================
--- head/sys/dev/iicbus/ad7418.c Thu Jul 6 17:01:51 2017 (r320742)
+++ head/sys/dev/iicbus/ad7418.c Thu Jul 6 17:03:22 2017 (r320743)
@@ -120,6 +120,8 @@ ad7418_attach(device_t dev)
int conf;
sc->sc_dev = dev;
+ sc->sc_lastupdate = ticks - hz;
+
sx_init(&sc->sc_lock, "ad7418");
SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
Modified: head/sys/dev/iwi/if_iwi.c
==============================================================================
--- head/sys/dev/iwi/if_iwi.c Thu Jul 6 17:01:51 2017 (r320742)
+++ head/sys/dev/iwi/if_iwi.c Thu Jul 6 17:03:22 2017 (r320743)
@@ -286,6 +286,7 @@ iwi_attach(device_t dev)
int i, error;
sc->sc_dev = dev;
+ sc->sc_ledevent = ticks;
IWI_LOCK_INIT(sc);
mbufq_init(&sc->sc_snd, ifqmaxlen);
More information about the svn-src-all
mailing list