Re: 2.0.35 and aic7xxx

Sean Sheedy (seans@easystreet.com)
Wed, 15 Jul 1998 13:07:49 -0700


Boris Tobotras wrote:
> 2.0.35SMP here detected 2940UW, but failed to detect two of three
> drives on it. This have started from .34, works nicely with .33:
>
> Attached devices:
> Host: scsi0 Channel: 00 Id: 01 Lun: 00
> Vendor: IBM Model: DPES-31080 Rev: S31Q
> Type: Direct-Access ANSI SCSI revision: 02
> Host: scsi0 Channel: 00 Id: 04 Lun: 00
> Vendor: TOSHIBA Model: CD-ROM XM-5301TA Rev: 0925
> Type: CD-ROM ANSI SCSI revision: 02
> Host: scsi0 Channel: 00 Id: 06 Lun: 00
> Vendor: QUANTUM Model: XP32275W Rev: LXY4
> Type: Direct-Access ANSI SCSI revision: 0
>
> Hm, can this be because of a gap in SCSI IDs?

Probably. A couple days ago, I found a bug in the aic7xxx.c driver (version
5.0.18) for Linux (2.1.108). (Unfortunately, I had some mail problems, so I
don't think my original message about the problem made it out.)

My system has an Adaptec 2940 with the following devices:

ID Device
2 Disk
4 CD-R
6 Tape

Without the following fix, the driver is unable to detect any devices; all
attempts fail with a select timeout. The fix allows the driver to find all the
devices.

Sean

> --- aic7xxx.c 1998/07/09 20:08:55 1.1
> +++ aic7xxx.c 1998/07/09 23:06:30
> @@ -4879,6 +4879,7 @@
> * Restarting the sequencer will stop the selection and make sure devices
> * are allowed to reselect in.
> */
> + aic_outb(p, 0, SCSISEQ);
> aic_outb(p, aic_inb(p, SIMODE1) & ~ENREQINIT, SIMODE1);
> p->flags &= ~AHC_HANDLING_REQINITS;
> aic_outb(p, CLRSELTIMEO | CLRBUSFREE | CLRREQINIT, CLRSINT1);

--
Sean Sheedy                                            seans@easystreet.com

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html