[216] in linux-scsi channel archive
Re: SCSI testing at boot
daemon@ATHENA.MIT.EDU (Drew Eckhardt)
Fri May 26 19:09:56 1995
To: ericc@Arco.COM (Chang Eric Y (214)509-3562)
cc: linux-scsi@vger.rutgers.edu
In-reply-to: Your message of "Wed, 24 May 1995 15:26:47 CDT."
<9505242026.AA15691@Arco.COM>
Date: Fri, 26 May 1995 16:19:50 MDT
From: Drew Eckhardt <drew@boulder.openware.com>
In message <9505242026.AA15691@Arco.COM>, ericc@Arco.COM writes:
>Hi. I have a strange problem with the installation of Linux on a
>Compaq Deskpro 386/25 w/ a Future Domain TMC-830 SCSI card with a
>single hard drive. It comes up with 2 or 3 extra SCSI devices on
>boot, which cause a kernel panic. DOS, however, only finds one
>device, and it boots fine. In addition, DOS diagnostics show the
>drive to be OK. How does the SCSI checking differ? Why is is
>more strict?
The Seagate/Future domain boards really suck, and don't allways work
the way the programming manual says they should. If you're having
problems, this may help -
The code in seagate.c looks like this now :
<code>
cli();
DATA = (unsigned char) ((1 <<target) | (controller_type == SEAGATE ? 0x80 : 0x4
0));
CONTROL = BASE_CMD | CMD_DRVR_ENABLE | CMD_SEL |
(reselect ? CMD_ATTN : 0);
sti();
</code>
Changing this to
<code>
cli();
CONTROL = BASE_CMD | CMD_DRVR_ENABLE | CMD_SEL |
(reselect ? CMD_ATTN : 0);
DATA = (unsigned char) ((1 <<target) | (controller_type == SEAGATE ? 0x80 : 0x4
0));
sti()
</code>
may fix your problem.