[2551] in linux-scsi channel archive
Re: Pinnacle Appex on a Adaptec 2940
daemon@ATHENA.MIT.EDU (Kai M{kisara)
Sun Sep 28 03:34:30 1997
Date: Sun, 28 Sep 1997 10:31:02 +0300 (EET DST)
From: Kai M{kisara <makisara@abies.metla.fi>
Reply-To: Kai.Makisara@metla.fi
To: Manuel Soriano <m_soriano@dapsys.ch>
cc: Scsi list <linux-scsi@vger.rutgers.edu>
In-Reply-To: <XFMail.970927105111.m_soriano@dapsys.ch>
On Sat, 27 Sep 1997, Manuel Soriano wrote:
> Hello All
>
> I am running on a 2.0.30 kernel with 2 Adaptec 2940 (1 AU & 1 UW)
>
> In the first card (UW) all disk (sda, sdb, etc..)
> In the second card (AU) 1 Pinnacle Appex MO
>
> When booting the cards are scanned correctly by the bios of the system,
> lilo starts correctly the kernel (first partition on first disk on first
> controller), but Linux when assign the devices, the sda get to the MO
> (first device ID != 0 on the SECOND controler) and the sdb goes to the
> boot disk @:-( (the system crash, root partitions is not found)
>
The aic7xxx.c driver finds the PCI cards primarily based on the array:
struct
{
unsigned short vendor_id;
unsigned short device_id;
aha_chip_type chip_type;
aha_chip_class_type chip_class;
} const aic7xxx_pci_devices[] = {
{PCI_VENDOR_ID_ADAPTEC, PCI_DEVICE_ID_ADAPTEC_7871, AIC_7871,
AIC_787x},
{PCI_VENDOR_ID_ADAPTEC, PCI_DEVICE_ID_ADAPTEC_7850, AIC_7850,
AIC_785x},
...
The original driver has ascending numerical order which means that the
AU with 7861 gets recognized before UW with 7881. The example above is from
my system where I have modified the driver so that my AHA2940 connected to
the system disks gets recognized before the card connected to "secondary"
devices. You can move the line defining 7881 to the top of the array and
after remaking the kernel your problem should be solved.
Kai