diff options
author | Kenneth R Westerback <krw@cvs.openbsd.org> | 2001-02-20 05:18:44 +0000 |
---|---|---|
committer | Kenneth R Westerback <krw@cvs.openbsd.org> | 2001-02-20 05:18:44 +0000 |
commit | 81c9b0ded3e60189393b18fa8b89488d3d87f6d2 (patch) | |
tree | 3112ba927b5537a82b6d05f0572e9c9283bc857d /sys | |
parent | a2e57e92a1d6b19db915e0312c2e03f0603e9d24 (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.c | 9 |
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 */ |