aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/isp/isp_pci.c
diff options
context:
space:
mode:
authorMatt Jacob <mjacob@FreeBSD.org>2000-02-15 00:50:01 +0000
committerMatt Jacob <mjacob@FreeBSD.org>2000-02-15 00:50:01 +0000
commite142669a433f404226177c3878986b776e9860cd (patch)
tree43bc0664affe9de6e196839d947325827fb80f01 /sys/dev/isp/isp_pci.c
parentfe4d0461674e6b8ed087ef6562b0e58d62c80bcb (diff)
Notes
Diffstat (limited to 'sys/dev/isp/isp_pci.c')
-rw-r--r--sys/dev/isp/isp_pci.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/isp/isp_pci.c b/sys/dev/isp/isp_pci.c
index 50ed5ee92515a..9ced6f8f7dd99 100644
--- a/sys/dev/isp/isp_pci.c
+++ b/sys/dev/isp/isp_pci.c
@@ -1525,7 +1525,11 @@ dma2(void *arg, bus_dma_segment_t *dm_segs, int nseg, int error)
((ispreqt2_t *)rq)->req_flags |= REQFLAG_DATA_OUT;
}
} else {
- seglim = ISP_RQDSEG;
+ if (csio->cdb_len > 12) {
+ seglim = 0;
+ } else {
+ seglim = ISP_RQDSEG;
+ }
if ((csio->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN) {
rq->req_flags |= REQFLAG_DATA_IN;
} else {