Re: OOPS in agpgart (2.4.13, 2.4.15pre7)

Stephan von Krawczynski (skraw@ithnet.com)
Fri, 23 Nov 2001 18:00:19 +0100


On Fri, 23 Nov 2001 18:30:01 +0100
Didier Moens <Didier.Moens@dmb.rug.ac.be> wrote:

>
> Hi all,
>
>
> This is my first oops report on lkml, so please be gentle with me. :)
>
>
> Hardware : IBM A30p (P3-1.2 GHz) with Intel i830 and ATI M6 Radeon
> Mobility LY
>
>
> Symptoms : oops when modprobing agpgart, both in the RedHat 2.4.13-0.6
> kernel and in a vanilla 2.4.15pre7.

Hello,

could be that this code from /drivers/char/agp/agpgart_be.c is bogus:

case PCI_DEVICE_ID_INTEL_830_M_0:
i810_dev = pci_find_device(PCI_VENDOR_ID_INTEL,

PCI_DEVICE_ID_INTEL_830_M_1,

NULL);
===> if(PCI_FUNC(i810_dev->devfn) != 0) {
i810_dev = pci_find_device(PCI_VENDOR_ID_INTEL,

PCI_DEVICE_ID_INTEL_830_M_1,

i810_dev);
}

if (i810_dev == NULL) {
printk(KERN_ERR PFX "Detected an "
"Intel 830M, but could not find the"
" secondary device.\n");
agp_bridge.type = NOT_SUPPORTED;
return -ENODEV;
}
printk(KERN_INFO PFX "Detected an Intel "
"830M Chipset.\n");
agp_bridge.type = INTEL_I810;
return intel_i830_setup(i810_dev);

Try this patch:

--- agpgart_be.c-orig Fri Nov 23 17:57:24 2001
+++ agpgart_be.c Fri Nov 23 17:55:24 2001
@@ -3879,7 +3879,7 @@
i810_dev = pci_find_device(PCI_VENDOR_ID_INTEL,

PCI_DEVICE_ID_INTEL_830_M_1,

NULL);
+ if(i810_dev && ( PCI_FUNC(i810_dev->devfn) != 0) ) {
- if(PCI_FUNC(i810_dev->devfn) != 0) {
i810_dev = pci_find_device(PCI_VENDOR_ID_INTEL,

PCI_DEVICE_ID_INTEL_830_M_1,

i810_dev);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/