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.
This commit is contained in:
parent
176b648e01
commit
71b2757314
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user