diff options
author | Kenneth R Westerback <krw@cvs.openbsd.org> | 2001-07-09 15:20:29 +0000 |
---|---|---|
committer | Kenneth R Westerback <krw@cvs.openbsd.org> | 2001-07-09 15:20:29 +0000 |
commit | 4a862059f1fc650d6e7d608c4684f64856290b9c (patch) | |
tree | cb744c5151b1a1f104a88f188ffe10c7a76bfe90 /sys/dev/ic | |
parent | b48d7a1ae4e4496dfba1b8bff80121ef670a3c7f (diff) |
Fix incorrect logic 'optimization' so that sync is negotiated even if
wide is not.
Now my CD drives on the narrow channel of the INI-9100UW negotiate to
the same configuration they do on other cards.
Diffstat (limited to 'sys/dev/ic')
-rw-r--r-- | sys/dev/ic/iha.c | 6 | ||||
-rw-r--r-- | sys/dev/ic/iha.h | 3 |
2 files changed, 5 insertions, 4 deletions
diff --git a/sys/dev/ic/iha.c b/sys/dev/ic/iha.c index a75e967d451..a3a29e93c20 100644 --- a/sys/dev/ic/iha.c +++ b/sys/dev/ic/iha.c @@ -1,4 +1,4 @@ -/* $OpenBSD: iha.c,v 1.3 2001/02/20 00:47:33 krw Exp $ */ +/* $OpenBSD: iha.c,v 1.4 2001/07/09 15:20:28 krw Exp $ */ /* * Initio INI-9xxxU/UW SCSI Device Driver * @@ -1054,7 +1054,9 @@ tul_scsi(sc, iot, ioh) if ((pScb->SCB_Flags & SCSI_RESET) == 0) { bus_space_write_1(iot, ioh, TUL_SYNCM, pTcs->TCS_JS_Period); - if ((pTcs->TCS_Flags & FLAG_NO_NEGOTIATE) == 0) + if (((pTcs->TCS_Flags & FLAG_NO_NEG_WIDE) == 0) + || + ((pTcs->TCS_Flags & FLAG_NO_NEG_SYNC) == 0)) tul_select(sc, iot, ioh, pScb, SELATNSTOP); else if (pScb->SCB_TagMsg != 0) diff --git a/sys/dev/ic/iha.h b/sys/dev/ic/iha.h index 27f8e8e02fd..41c391d99f6 100644 --- a/sys/dev/ic/iha.h +++ b/sys/dev/ic/iha.h @@ -1,4 +1,4 @@ -/* $OpenBSD: iha.h,v 1.2 2001/02/08 17:35:05 krw Exp $ */ +/* $OpenBSD: iha.h,v 1.3 2001/07/09 15:20:27 krw Exp $ */ /* * Initio INI-9xxxU/UW SCSI Device Driver * @@ -135,7 +135,6 @@ struct tcs { #define FLAG_SYNC_DONE 0x0200 /* SDTR msg has been sent */ #define FLAG_NO_NEG_SYNC (FLAG_NO_SYNC | FLAG_SYNC_DONE) #define FLAG_NO_NEG_WIDE (FLAG_NO_WIDE | FLAG_WIDE_DONE) -#define FLAG_NO_NEGOTIATE (FLAG_NO_NEG_SYNC | FLAG_NO_NEG_WIDE) u_int8_t TCS_JS_Period; #define PERIOD_WIDE_SCSI 0x80 /* Enable Wide SCSI */ #define PERIOD_SYXPD 0x70 /* Synch. SCSI Xfer rate */ |