summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorgibbs <gibbs@FreeBSD.org>2003-06-06 23:53:39 +0000
committergibbs <gibbs@FreeBSD.org>2003-06-06 23:53:39 +0000
commit177269851c8721d1554999b293dcfe344828da74 (patch)
tree23fdedfce54b6ba1c722c5b72d628d13e9b30576 /sys
parentce5adf612a7049618a2412e355d2fb779215f1a0 (diff)
downloadFreeBSD-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.
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/aic7xxx/aic79xx.c4
-rw-r--r--sys/dev/aic7xxx/aic7xxx.c4
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);
OpenPOWER on IntegriCloud