diff options
author | gibbs <gibbs@FreeBSD.org> | 2003-06-06 23:53:39 +0000 |
---|---|---|
committer | gibbs <gibbs@FreeBSD.org> | 2003-06-06 23:53:39 +0000 |
commit | 177269851c8721d1554999b293dcfe344828da74 (patch) | |
tree | 23fdedfce54b6ba1c722c5b72d628d13e9b30576 | |
parent | ce5adf612a7049618a2412e355d2fb779215f1a0 (diff) | |
download | FreeBSD-src-177269851c8721d1554999b293dcfe344828da74.zip FreeBSD-src-177269851c8721d1554999b293dcfe344828da74.tar.gz |
When single stepping, only leave ENBUSFREE enabled
if it was already enabled. We don't want to set it
when it shouldn't be set, we just don't want to
inadvertantly turn it off. This should fix a recent
report of the aic7xxx driver repeatedly complaining of
"unexpected busfree while idle" in one configuration.
-rw-r--r-- | sys/dev/aic7xxx/aic79xx.c | 4 | ||||
-rw-r--r-- | sys/dev/aic7xxx/aic7xxx.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/sys/dev/aic7xxx/aic79xx.c b/sys/dev/aic7xxx/aic79xx.c index cf1007c..e43a75b 100644 --- a/sys/dev/aic7xxx/aic79xx.c +++ b/sys/dev/aic7xxx/aic79xx.c @@ -37,7 +37,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGES. * - * $Id: //depot/aic7xxx/aic7xxx/aic79xx.c#197 $ + * $Id: //depot/aic7xxx/aic7xxx/aic79xx.c#198 $ * * $FreeBSD$ */ @@ -2199,7 +2199,7 @@ ahd_clear_critical_section(struct ahd_softc *ahd) ahd_outb(ahd, LQOMODE1, 0); ahd_set_modes(ahd, AHD_MODE_SCSI, AHD_MODE_SCSI); simode1 = ahd_inb(ahd, SIMODE1); - ahd_outb(ahd, SIMODE1, ENBUSFREE); + ahd_outb(ahd, SIMODE1, simode1 & ENBUSFREE); ahd_outb(ahd, SEQCTL0, ahd_inb(ahd, SEQCTL0) | STEP); stepping = TRUE; } diff --git a/sys/dev/aic7xxx/aic7xxx.c b/sys/dev/aic7xxx/aic7xxx.c index a1e6d90..22944e8 100644 --- a/sys/dev/aic7xxx/aic7xxx.c +++ b/sys/dev/aic7xxx/aic7xxx.c @@ -37,7 +37,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGES. * - * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.c#133 $ + * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.c#134 $ * * $FreeBSD$ */ @@ -1469,7 +1469,7 @@ ahc_clear_critical_section(struct ahc_softc *ahc) * current connection, so we must * leave it on while single stepping. */ - ahc_outb(ahc, SIMODE1, ENBUSFREE); + ahc_outb(ahc, SIMODE1, simode1 & ENBUSFREE); else ahc_outb(ahc, SIMODE1, 0); ahc_outb(ahc, CLRINT, CLRSCSIINT); |