intel_agp: Don't oops with zero stolen memory
PATCH RESEND 1/1 intel_agp: Don't oops with zero stolen memory
When "onboard video memory" is set do "disabled" in BIOS on Asus P4P800-VM board (i865G), kernel oopses with memory corruption:
https://bugs.freedesktop.org/show_bug.cgi?id=28430
Fix that by cleanly aborting the initialization.
drivers/char/agp/intel-gtt.c +14 -0
@@ -797,6 +797,10 @@ static int intel_i830_create_gatt_table(/* we have to call this as early as possible after the MMIO base address is known */ intel_i830_init_gtt_entries (); +if (intel_private.gtt_entries ==0 ) { +iounmap (intel_private.registers); +return -ENOMEM ; + } agp_bridge->gatt_table =NULL ;
@@ -1279,6 +1283,11 @@ static int intel_i915_create_gatt_table(/* we have to call this as early as possible after the MMIO base address is known */ intel_i830_init_gtt_entries (); +if (intel_private.gtt_entries ==0 ) { +iounmap (intel_private.gtt); +iounmap (intel_private.registers); +return -ENOMEM ; + } agp_bridge->gatt_table =NULL ;
@@ -1387,6 +1396,11 @@ static int intel_i965_create_gatt_table(/* we have to call this as early as possible after the MMIO base address is known */ intel_i830_init_gtt_entries (); +if (intel_private.gtt_entries ==0 ) { +iounmap (intel_private.gtt); +iounmap (intel_private.registers); +return -ENOMEM ; + } agp_bridge->gatt_table =NULL ;
Signature · 1 line
Ondrej Zary
Quoted 7 lines · Ondrej Zary
When "onboard video memory" is set do "disabled" in BIOS on Asus P4P800-VM board (i865G), kernel oopses with memory corruption:
https://bugs.freedesktop.org/show_bug.cgi?id=28430Fix that by cleanly aborting the initialization.
Signed-off-by Ondrej Zary <[email protected]>
I haven't seen a system with that option before. Is the integrated graphics still supposed to work at that point, or is it "graphics is disabled."? What do other OSes do here?
Quoted 1 line · On Friday 02 July 2010 00:44:39 Eric Anholt wrote:
On Wed, 16 Jun 2010 10:13:52 +0200, Ondrej Zary <[email protected]>
Quoted 11 lines · wrote:
Quoted 7 lines
When "onboard video memory" is set do "disabled" in BIOS on Asus P4P800-VM board (i865G), kernel oopses with memory corruption:
https://bugs.freedesktop.org/show_bug.cgi?id=28430Fix that by cleanly aborting the initialization.
Signed-off-by Ondrej Zary <[email protected]>I haven't seen a system with that option before. Is the integrated graphics still supposed to work at that point, or is it "graphics is disabled."? What do other OSes do here?
Testing it right now with Windows XP. Integrated graphics works as secondary only when the "onboard video memory" is set to "disabled"! If anything other is set (e.g. 1MB or 32MB), the driver does not load (code 10).
Signature · 1 line
Ondrej Zary
Quoted 11 lines · Ondrej Zary
Quoted 1 line · On Friday 02 July 2010 00:44:39 Eric Anholt wrote:
On Wed, 16 Jun 2010 10:13:52 +0200, Ondrej Zary <[email protected]>
Quoted 8 lines · wrote:
Quoted 7 lines
When "onboard video memory" is set do "disabled" in BIOS on Asus P4P800-VM board (i865G), kernel oopses with memory corruption:
https://bugs.freedesktop.org/show_bug.cgi?id=28430Fix that by cleanly aborting the initialization.
Signed-off-by Ondrej Zary <[email protected]>
Quoted 7 lines
Quoted 3 lines
I haven't seen a system with that option before. Is the integrated graphics still supposed to work at that point, or is it "graphics is disabled."? What do other OSes do here?
Testing it right now with Windows XP. Integrated graphics works as secondary only when the "onboard video memory" is set to "disabled"! If anything other is set (e.g. 1MB or 32MB), the driver does not load (code 10).
OK, I was thinking in that case that we should fix the AGP driver's math so that it correctly set up a chip with no stolen memory allocation. On the other hand, I don't think we know what the correct math is, so maybe we should just go ahead with disabling AGP in that case.
Quoted 1 line · On Friday 02 July 2010 22:57:36 Eric Anholt wrote:
On Fri, 2 Jul 2010 21:59:20 +0200, Ondrej Zary <[email protected]>
Quoted 22 lines · wrote:
Quoted 13 lines · On Friday 02 July 2010 00:44:39 Eric Anholt wrote:
Quoted 2 lines
On Wed, 16 Jun 2010 10:13:52 +0200, Ondrej Zary
<[email protected]>Quoted 8 lines · wrote:
Quoted 7 lines
When "onboard video memory" is set do "disabled" in BIOS on Asus P4P800-VM board (i865G), kernel oopses with memory corruption:
https://bugs.freedesktop.org/show_bug.cgi?id=28430Fix that by cleanly aborting the initialization.
Signed-off-by Ondrej Zary <[email protected]>Quoted 8 lines
Quoted 3 lines
I haven't seen a system with that option before. Is the integrated graphics still supposed to work at that point, or is it "graphics is disabled."? What do other OSes do here?
Testing it right now with Windows XP. Integrated graphics works as secondary only when the "onboard video memory" is set to "disabled"! If anything other is set (e.g. 1MB or 32MB), the driver does not load (code 10).
Quoted 4 lines
OK, I was thinking in that case that we should fix the AGP driver's math so that it correctly set up a chip with no stolen memory allocation. On the other hand, I don't think we know what the correct math is, so maybe we should just go ahead with disabling AGP in that case.
Someone from Intel should know how to fix this properly.
Signature · 1 line
Ondrej Zary
Eric Anholt
AppliedQuoted 5 lines · Ondrej Zary
When "onboard video memory" is set do "disabled" in BIOS on Asus P4P800-VM board (i865G), kernel oopses with memory corruption:
https://bugs.freedesktop.org/show_bug.cgi?id=28430Fix that by cleanly aborting the initialization.
Applied to -next.