Bug#380272: kernel-image-2.6-686-smp: cpqarray module fails to detect arrays
Hi Maks,
I have confirmed that loading cpqarray first fixes the problem on several systems now. I have also realized that when this is the case, the sym53c8xx driver is not needed or loaded. I thought this was noteworthy. It appears that your presumption was correct that the sym53c8xx and cpqarray modules do not play nicely.
Is this something that can be handled in the initramfs automatically instead of forcing everyone running these systems to update
their /etc/initramfs-tools/modules file?
Thanks again!!!
Joshua
Hello Joshua,
Quoted 6 lines · Joshua Rubin
I have confirmed that loading cpqarray first fixes the problem on several systems now. I have also realized that when this is the case, the sym53c8xx driver is not needed or loaded. I thought this was noteworthy. It appears that your presumption was correct that the sym53c8xx and cpqarray modules do not play nicely.
The problem is because they both claim support for the same PCI Ids:
cpqarray.c,
static const struct pci_device_id cpqarray_pci_device_id[] =
{
....
{ PCI_VENDOR_ID_NCR, PCI_DEVICE_ID_NCR_53C1510,
0x0E11, 0x4048, 0, 0, 0}, /* LC2 */
{ PCI_VENDOR_ID_NCR, PCI_DEVICE_ID_NCR_53C1510,
0x0E11, 0x4040, 0, 0, 0}, /* Integrated Array */
....
};and sym53c8xx_2/sym_glue.c,
static struct pci_device_id sym2_id_table[] __devinitdata = {
....
{ PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_53C1510,
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
....
{ PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_NCR_53C1510,
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, /* new */
....
};More correctly, the problem is because sym2 is claiming support for all devices with these PCI device/vendor id.
Can we get the output of lspci -v output from your machine?
If LSI was kind, the PCI class might be different between the two, or some other clue might be there to differentiate them.
Quoted 3 lines
Is this something that can be handled in the initramfs automatically instead of forcing everyone running these systems to update
their/etc/initramfs-tools/modulesfile?
The easiest thing to do from the initramfs point of view is to simply load cpqarray in preference to sym53c8xx.
Regards,
Kyle M.
Quoted 1 line · Kyle McMartin
The problem is because they both claim support for the same PCI Ids:
That's this fix, isn't it?
James
Quoted 4 lines · James Bottomley
That's this fix, isn't it?
Yup.
Quoted 8 lines · James Bottomley
Quoted 1 line · Kyle McMartin
The problem is because they both claim support for the same PCI Ids:
That's this fix, isn't it?
James
added the stable Maintainers to cc,
please consider this patch for the next revision.
thanks
Signature · 1 line
maks