[kernel] r9537 - in dists/etch/linux-2.6/debian: . patches/bugfix patches/series
Dann Frazier
dannf at alioth.debian.org
Mon Sep 17 23:12:10 UTC 2007
Author: dannf
Date: Mon Sep 17 23:12:09 2007
New Revision: 9537
Log:
* Fix a regression introduced by the intel_agp changes in -13 that caused
boot-time hangs on large memory systems. (closes: #438458)
Added:
dists/etch/linux-2.6/debian/patches/bugfix/intel_agp-dont-load-if-no-IGD-and-AGP-port-backport.patch
Modified:
dists/etch/linux-2.6/debian/changelog
dists/etch/linux-2.6/debian/patches/series/14
Modified: dists/etch/linux-2.6/debian/changelog
==============================================================================
--- dists/etch/linux-2.6/debian/changelog (original)
+++ dists/etch/linux-2.6/debian/changelog Mon Sep 17 23:12:09 2007
@@ -24,8 +24,10 @@
group). (closes: #404815)
* Fix a BUG in fuse_ctl_add_dentry by resetting the dentry counter in
fuse_ctl_kill_sb(). (closes: #427518)
+ * Fix a regression introduced by the intel_agp changes in -13 that caused
+ boot-time hangs on large memory systems. (closes: #438458)
- -- dann frazier <dannf at debian.org> Mon, 17 Sep 2007 16:49:32 -0600
+ -- dann frazier <dannf at debian.org> Mon, 17 Sep 2007 16:56:07 -0600
linux-2.6 (2.6.18.dfsg.1-13etch2) stable-security; urgency=high
Added: dists/etch/linux-2.6/debian/patches/bugfix/intel_agp-dont-load-if-no-IGD-and-AGP-port-backport.patch
==============================================================================
--- (empty file)
+++ dists/etch/linux-2.6/debian/patches/bugfix/intel_agp-dont-load-if-no-IGD-and-AGP-port-backport.patch Mon Sep 17 23:12:09 2007
@@ -0,0 +1,105 @@
+From: Wang Zhenyu <zhenyu.z.wang at intel.com>
+Date: Thu, 21 Jun 2007 05:43:18 +0000 (+0800)
+Subject: [AGPGART] intel_agp: don't load if no IGD and AGP port
+X-Git-Tag: v2.6.22-rc6~41^2
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=47d46379eb66278107947729e34a833c76dca252
+
+[AGPGART] intel_agp: don't load if no IGD and AGP port
+
+After i915 chip, GMCH has no AGP port. Origin bridge driver in device
+table will try to access illegal regs like APBASE, APSIZE, etc. This
+may cause problem.
+
+So mark them as NULL in the table, we won't load if no IGD got detect
+and bridge has no AGP port.
+
+Signed-off-by: Wang Zhenyu <zhenyu.z.wang at intel.com>
+Signed-off-by: Dave Jones <davej at redhat.com>
+---
+
+Backported to Debian's 2.6.18 by dann frazier <dannf at debian.org>
+
+diff -urpN linux-source-2.6.18.orig/drivers/char/agp/intel-agp.c linux-source-2.6.18/drivers/char/agp/intel-agp.c
+--- linux-source-2.6.18.orig/drivers/char/agp/intel-agp.c 2007-08-29 02:12:39.000000000 -0600
++++ linux-source-2.6.18/drivers/char/agp/intel-agp.c 2007-09-06 12:54:08.000000000 -0600
+@@ -1768,56 +1768,56 @@ static int __devinit agp_intel_probe(str
+ if (find_i830(PCI_DEVICE_ID_INTEL_82915G_IG))
+ bridge->driver = &intel_915_driver;
+ else
+- bridge->driver = &intel_845_driver;
++ bridge->driver = NULL;
+ name = "915G";
+ break;
+ case PCI_DEVICE_ID_INTEL_82915GM_HB:
+ if (find_i830(PCI_DEVICE_ID_INTEL_82915GM_IG))
+ bridge->driver = &intel_915_driver;
+ else
+- bridge->driver = &intel_845_driver;
++ bridge->driver = NULL;
+ name = "915GM";
+ break;
+ case PCI_DEVICE_ID_INTEL_82945G_HB:
+ if (find_i830(PCI_DEVICE_ID_INTEL_82945G_IG))
+ bridge->driver = &intel_915_driver;
+ else
+- bridge->driver = &intel_845_driver;
++ bridge->driver = NULL;
+ name = "945G";
+ break;
+ case PCI_DEVICE_ID_INTEL_82945GM_HB:
+ if (find_i830(PCI_DEVICE_ID_INTEL_82945GM_IG))
+ bridge->driver = &intel_915_driver;
+ else
+- bridge->driver = &intel_845_driver;
++ bridge->driver = NULL;
+ name = "945GM";
+ break;
+ case PCI_DEVICE_ID_INTEL_82946GZ_HB:
+ if (find_i830(PCI_DEVICE_ID_INTEL_82946GZ_IG))
+ bridge->driver = &intel_i965_driver;
+ else
+- bridge->driver = &intel_845_driver;
++ bridge->driver = NULL;
+ name = "946GZ";
+ break;
+ case PCI_DEVICE_ID_INTEL_82965G_1_HB:
+ if (find_i830(PCI_DEVICE_ID_INTEL_82965G_1_IG))
+ bridge->driver = &intel_i965_driver;
+ else
+- bridge->driver = &intel_845_driver;
++ bridge->driver = NULL;
+ name = "965G";
+ break;
+ case PCI_DEVICE_ID_INTEL_82965Q_HB:
+ if (find_i830(PCI_DEVICE_ID_INTEL_82965Q_IG))
+ bridge->driver = &intel_i965_driver;
+ else
+- bridge->driver = &intel_845_driver;
++ bridge->driver = NULL;
+ name = "965Q";
+ break;
+ case PCI_DEVICE_ID_INTEL_82965G_HB:
+ if (find_i830(PCI_DEVICE_ID_INTEL_82965G_IG))
+ bridge->driver = &intel_i965_driver;
+ else
+- bridge->driver = &intel_845_driver;
++ bridge->driver = NULL;
+ name = "965G";
+ break;
+
+@@ -1837,6 +1837,15 @@ static int __devinit agp_intel_probe(str
+ return -ENODEV;
+ };
+
++ if (bridge->driver == NULL) {
++ /* bridge has no AGP and no IGD detected */
++ if (cap_ptr)
++ printk(KERN_WARNING PFX "Failed to find bridge device "
++ "(device id: %04x)\n", pdev->device);
++ agp_put_bridge(bridge);
++ return -ENODEV;
++ }
++
+ bridge->dev = pdev;
+ bridge->capndx = cap_ptr;
+
Modified: dists/etch/linux-2.6/debian/patches/series/14
==============================================================================
--- dists/etch/linux-2.6/debian/patches/series/14 (original)
+++ dists/etch/linux-2.6/debian/patches/series/14 Mon Sep 17 23:12:09 2007
@@ -16,3 +16,4 @@
+ bugfix/ipv6-disallow-RH0-by-default-2.patch
+ bugfix/clear-spurious-irq.patch
+ bugfix/fuse-BUG-in-control-fs-mount.patch
++ bugfix/intel_agp-dont-load-if-no-IGD-and-AGP-port-backport.patch
More information about the Kernel-svn-changes
mailing list