diff options
author | Kenneth R Westerback <krw@cvs.openbsd.org> | 2000-11-10 04:24:51 +0000 |
---|---|---|
committer | Kenneth R Westerback <krw@cvs.openbsd.org> | 2000-11-10 04:24:51 +0000 |
commit | f2ba9ae8ac6788b3153af9a72efbe7157eb6c50d (patch) | |
tree | 7ca0003a479f1bcb14d088a8f738261b7ce201f8 /sys/dev | |
parent | 3d15eee6efb9d947f2c09516d5ebf63ec370c24c (diff) |
This fixes a problem that caused DMA errors from shortly before
2.7 through the released 2.8.
As NetBSD describes the problem:
DMA failure still arise when AdvanSys U[2]W host adapters
are used in conjunction with Intel 82443BX Host
Bridge/Controller (rev. 0x03).
With a correct sg_cnt, scatter/gather lists with >1 element
no longer reference random(?) memory. Now the mystery
is why this didn't cause more problems on other chipsets.
Installs of 2.7 and 2.8 to a drive on an adw bus now work even
if the motherboard uses the 82443BX.
So many problems from one character ...
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/ic/adw.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/ic/adw.c b/sys/dev/ic/adw.c index 1d4b35b7a31..03415f3c224 100644 --- a/sys/dev/ic/adw.c +++ b/sys/dev/ic/adw.c @@ -1,4 +1,4 @@ -/* $OpenBSD: adw.c,v 1.10 2000/10/15 12:22:15 krw Exp $ */ +/* $OpenBSD: adw.c,v 1.11 2000/11/10 04:24:50 krw Exp $ */ /* $NetBSD: adw.c,v 1.23 2000/05/27 18:24:50 dante Exp $ */ /* @@ -913,7 +913,7 @@ adw_build_sglist(ccb, scsiqp, sg_block) if (--sg_elem_cnt == 0) { /* last entry, get out */ - sg_block->sg_cnt = i + i; + sg_block->sg_cnt = i + 1; sg_block->sg_ptr = NULL; /* next link = NULL */ return; } |