Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Jun 2020 13:18:21 +0000 (UTC)
From:      Andriy Gapon <avg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r361788 - head/sys/dev/superio
Message-ID:  <202006041318.054DILea092213@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: avg
Date: Thu Jun  4 13:18:21 2020
New Revision: 361788
URL: https://svnweb.freebsd.org/changeset/base/361788

Log:
  superio: do not assume that current LDN cannot change after config exit
  
  That assumption should be true when superio(4) uses the hardware
  exlusively.  But it turns out to not hold on some real systems.
  So, err on the side of correctness rather than performance.
  Clear current_ldn in sio_conf_exit.
  
  Reported by:	bz
  Tested by:	bz
  MFC after:	1 week

Modified:
  head/sys/dev/superio/superio.c

Modified: head/sys/dev/superio/superio.c
==============================================================================
--- head/sys/dev/superio/superio.c	Thu Jun  4 13:06:49 2020	(r361787)
+++ head/sys/dev/superio/superio.c	Thu Jun  4 13:18:21 2020	(r361788)
@@ -190,6 +190,7 @@ static void
 sio_conf_exit(struct siosc *sc)
 {
 	sc->methods->exit(sc->io_res, sc->io_port);
+	sc->current_ldn = 0xff;
 	mtx_unlock(&sc->conf_lock);
 }
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202006041318.054DILea092213>