diff options
Diffstat (limited to 'sys/i386/scsi')
-rw-r--r-- | sys/i386/scsi/aic7xxx.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/sys/i386/scsi/aic7xxx.c b/sys/i386/scsi/aic7xxx.c index 271192e..0ac686f 100644 --- a/sys/i386/scsi/aic7xxx.c +++ b/sys/i386/scsi/aic7xxx.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: aic7xxx.c,v 1.68 1996/05/22 00:04:12 dima Exp $ + * $Id: aic7xxx.c,v 1.69 1996/05/22 15:32:28 gibbs Exp $ */ /* * TODO: @@ -1900,9 +1900,15 @@ ahc_init(ahc) * has a valid ultra syncrate setting. */ u_char rate = target_settings & 0x70; - if( rate == 0x00 || rate == 0x10 || - rate == 0x20 ) - ultraenable |= (0x01 << i); + if(rate == 0x00 || rate == 0x10 || + rate == 0x20 || rate == 0x40) { + if(rate == 0x40) { + /* Treat 10MHz specially */ + target_settings &= ~0x70; + } + else + ultraenable |= (0x01 << i); + } } } outb(TARG_SCRATCH+i+iobase,target_settings); |