summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2001-06-14 23:51:59 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2001-06-14 23:51:59 +0000
commit253096d2c4af92bcd795d46a882a8f764d9f081b (patch)
tree7a6c9edaf9a5407d860f7aa05453aa1e17c29880 /sys
parent29ac5fa4d26527b019bfeb1735aa8ea424a9c506 (diff)
dst ring corruption fix; jason
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/pci/hifn7751.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/pci/hifn7751.c b/sys/dev/pci/hifn7751.c
index e8bd3575d12..e6e68cc2f42 100644
--- a/sys/dev/pci/hifn7751.c
+++ b/sys/dev/pci/hifn7751.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: hifn7751.c,v 1.67 2001/06/14 23:51:18 deraadt Exp $ */
+/* $OpenBSD: hifn7751.c,v 1.68 2001/06/14 23:51:58 deraadt Exp $ */
/*
* Invertex AEON / Hi/fn 7751 driver
@@ -1529,6 +1529,10 @@ hifn_callback(sc, cmd, macbuf)
dma->dstk = 0;
dma->dstu--;
}
+ } else if (crp->crp_flags & CRYPTO_F_IOV) {
+ hifnstats.hst_obytes += cmd->dst_map->dm_mapsize;
+ dma->dstk = (dma->dstk + cmd->dst_map->dm_nsegs) % HIFN_D_DST_RSIZE;
+ dma->dstu -= cmd->dst_map->dm_nsegs;
}
if ((cmd->base_masks & (HIFN_BASE_CMD_CRYPT | HIFN_BASE_CMD_DECODE)) ==