summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorKenneth R Westerback <krw@cvs.openbsd.org>2001-02-20 05:18:44 +0000
committerKenneth R Westerback <krw@cvs.openbsd.org>2001-02-20 05:18:44 +0000
commit81c9b0ded3e60189393b18fa8b89488d3d87f6d2 (patch)
tree3112ba927b5537a82b6d05f0572e9c9283bc857d /sys
parenta2e57e92a1d6b19db915e0312c2e03f0603e9d24 (diff)
If you can't do wide xfers, don't tempt the targets by offering
it. They might not turn you down. Spotted by drahn@.
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/ic/siop.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/dev/ic/siop.c b/sys/dev/ic/siop.c
index 1026e69fe7a..55706e19319 100644
--- a/sys/dev/ic/siop.c
+++ b/sys/dev/ic/siop.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: siop.c,v 1.2 2001/02/20 00:32:28 krw Exp $ */
+/* $OpenBSD: siop.c,v 1.3 2001/02/20 05:18:43 krw Exp $ */
/* $NetBSD: siop.c,v 1.39 2001/02/11 18:04:49 bouyer Exp $ */
/*
@@ -1304,7 +1304,12 @@ siop_scsicmd(xs)
return(TRY_AGAIN_LATER);
}
sc->targets[target]->status = TARST_PROBING;
- sc->targets[target]->flags = TARF_WIDE | TARF_SYNC;
+
+ if (sc->features & SF_BUS_WIDE)
+ sc->targets[target]->flags = TARF_SYNC | TARF_WIDE;
+ else
+ sc->targets[target]->flags = TARF_SYNC;
+
sc->targets[target]->id = sc->clock_div << 24; /* scntl3 */
sc->targets[target]->id |= target << 16; /* id */
/* sc->targets[target]->id |= 0x0 << 8; scxfer is 0 */