On 2007.06.20 01:37:16 +0000, Carlo Wood wrote: > The result of this patch is that the kernel starts to print > "agpgart: Detected an Intel 965G Chipset." again with the usual > disastrous results. Now, that doesn't mean that this patch is > wrong - but it explains why the problem returns after this patch. >
Yep, the device table patch doesn't change any function, so your problem started from when 965G support patch has been in kernel. Carlo, pls try a kernel param of "pci=nommconf" to see if that could fix your hang. There might be a BIOS bug, as similar issue also happen like https://bugzilla.novell.com/show_bug.cgi?id=228683 I think for i965 we could have following patch to fix this, we may fail if no IGD device got detected. Signed-off-by: Wang Zhenyu <[EMAIL PROTECTED]> --- diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c index 0439ee9..5a54a9c 100644 --- a/drivers/char/agp/intel-agp.c +++ b/drivers/char/agp/intel-agp.c @@ -1855,15 +1855,15 @@ static const struct intel_driver_description { { PCI_DEVICE_ID_INTEL_82946GZ_HB, PCI_DEVICE_ID_INTEL_82946GZ_IG, 0, "946GZ", &intel_845_driver, &intel_i965_driver }, { PCI_DEVICE_ID_INTEL_82965G_1_HB, PCI_DEVICE_ID_INTEL_82965G_1_IG, 0, "965G", - &intel_845_driver, &intel_i965_driver }, + NULL, &intel_i965_driver }, { PCI_DEVICE_ID_INTEL_82965Q_HB, PCI_DEVICE_ID_INTEL_82965Q_IG, 0, "965Q", - &intel_845_driver, &intel_i965_driver }, + NULL, &intel_i965_driver }, { PCI_DEVICE_ID_INTEL_82965G_HB, PCI_DEVICE_ID_INTEL_82965G_IG, 0, "965G", - &intel_845_driver, &intel_i965_driver }, + NULL, &intel_i965_driver }, { PCI_DEVICE_ID_INTEL_82965GM_HB, PCI_DEVICE_ID_INTEL_82965GM_IG, 1, "965GM", - &intel_845_driver, &intel_i965_driver }, + NULL, &intel_i965_driver }, { PCI_DEVICE_ID_INTEL_82965GM_HB, PCI_DEVICE_ID_INTEL_82965GME_IG, 0, "965GME/GLE", - &intel_845_driver, &intel_i965_driver }, + NULL, &intel_i965_driver }, { PCI_DEVICE_ID_INTEL_7505_0, 0, 0, "E7505", &intel_7505_driver, NULL }, { PCI_DEVICE_ID_INTEL_7205_0, 0, 0, "E7205", &intel_7505_driver, NULL }, { PCI_DEVICE_ID_INTEL_G33_HB, PCI_DEVICE_ID_INTEL_G33_IG, 0, "G33", @@ -1917,6 +1917,7 @@ static int __devinit agp_intel_probe(struct pci_dev *pdev, } if (bridge->driver == NULL) { + /* The bridge has no AGP or no gfx device */ printk(KERN_WARNING PFX "Failed to find bridge device " "(chip_id: %04x)\n", intel_agp_chipsets[i].gmch_chip_id); agp_put_bridge(bridge); --- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/