diff options
| author | Justin T. Gibbs <gibbs@FreeBSD.org> | 1998-06-28 02:59:53 +0000 |
|---|---|---|
| committer | Justin T. Gibbs <gibbs@FreeBSD.org> | 1998-06-28 02:59:53 +0000 |
| commit | 34f937162f4efba0d0348aae9d04b0a1b284c593 (patch) | |
| tree | b81a63ca81e51c81657263cbdd58f7238c4e2fcf /sys | |
| parent | c609e0c8df52451c1469a32afe239c58106c620f (diff) | |
Notes
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/dev/aic7xxx/aic7xxx.seq | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/sys/dev/aic7xxx/aic7xxx.seq b/sys/dev/aic7xxx/aic7xxx.seq index 0c225f96a974..40ca2c1ef6a7 100644 --- a/sys/dev/aic7xxx/aic7xxx.seq +++ b/sys/dev/aic7xxx/aic7xxx.seq @@ -37,7 +37,7 @@ *OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF *SUCH DAMAGE. * - * $Id: aic7xxx.seq,v 1.46.2.20 1997/08/13 18:56:45 gibbs Exp $ + * $Id: aic7xxx.seq,v 1.46.2.21 1997/09/27 19:46:55 gibbs Exp $ * *-M************************************************************************/ @@ -947,7 +947,15 @@ dma_fifoempty: dma_dmadone: and DFCNTRL, ~(SCSIEN|SDMAEN|HDMAEN); dma_halt: - test DFCNTRL, (SCSIEN|SDMAEN|HDMAEN) jnz dma_halt; + /* + * Some revisions of the aic7880 have a problem where, if the + * data fifo is full, but the PCI input latch is not empty, + * HDMAEN cannot be cleared. The fix used here is to attempt + * to drain the data fifo until there is space for the input + * latch to drain and HDMAEN de-asserts. + */ + mov NONE, DFDAT; + test DFCNTRL, HDMAEN jnz dma_halt; return: ret; |
