diff options
| author | Justin T. Gibbs <gibbs@FreeBSD.org> | 1998-06-28 02:58:57 +0000 |
|---|---|---|
| committer | Justin T. Gibbs <gibbs@FreeBSD.org> | 1998-06-28 02:58:57 +0000 |
| commit | b66655cf37ea5628e388d742a51d662e572aa64f (patch) | |
| tree | 62e422231fd8eb7ca3029e8cc14114a2010f936b /sys | |
| parent | 14c35d6ca08e2f400104f47999ee57878f0ee773 (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 d7338a539e1d..f3fad03aa810 100644 --- a/sys/dev/aic7xxx/aic7xxx.seq +++ b/sys/dev/aic7xxx/aic7xxx.seq @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: aic7xxx.seq,v 1.75 1997/08/13 17:02:28 gibbs Exp $ + * $Id: aic7xxx.seq,v 1.76 1997/09/27 19:37:27 gibbs Exp $ */ #include <dev/aic7xxx/aic7xxx.reg> @@ -944,7 +944,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; |
