svn commit: r323421 - in stable/11/sys/dev: bwi iicbus iwi

Ian Lepore ian at FreeBSD.org
Mon Sep 11 02:56:47 UTC 2017


Author: ian
Date: Mon Sep 11 02:56:45 2017
New Revision: 323421
URL: https://svnweb.freebsd.org/changeset/base/323421

Log:
  MFC r320743:
  
  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:
  stable/11/sys/dev/bwi/if_bwi.c
  stable/11/sys/dev/iicbus/ad7418.c
  stable/11/sys/dev/iwi/if_iwi.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/dev/bwi/if_bwi.c
==============================================================================
--- stable/11/sys/dev/bwi/if_bwi.c	Mon Sep 11 02:52:41 2017	(r323420)
+++ stable/11/sys/dev/bwi/if_bwi.c	Mon Sep 11 02:56:45 2017	(r323421)
@@ -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: stable/11/sys/dev/iicbus/ad7418.c
==============================================================================
--- stable/11/sys/dev/iicbus/ad7418.c	Mon Sep 11 02:52:41 2017	(r323420)
+++ stable/11/sys/dev/iicbus/ad7418.c	Mon Sep 11 02:56:45 2017	(r323421)
@@ -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: stable/11/sys/dev/iwi/if_iwi.c
==============================================================================
--- stable/11/sys/dev/iwi/if_iwi.c	Mon Sep 11 02:52:41 2017	(r323420)
+++ stable/11/sys/dev/iwi/if_iwi.c	Mon Sep 11 02:56:45 2017	(r323421)
@@ -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