Commit 9c1e8a4e authored by Lubomir Rintel's avatar Lubomir Rintel Committed by Linus Torvalds

intel-agp: fix a panic with 1M of shared memory, no GTT entries

When GTT size is equal to amount of video memory, the amount of GTT
entries is computed lower than zero, which is invalid and leads to
off-by-one error in intel_i915_configure()

Originally posted here:
http://bugzilla.kernel.org/show_bug.cgi?id=12539
http://bugzilla.redhat.com/show_bug.cgi?id=445592Signed-off-by: default avatarLubomir Rintel <lkundrak@v3.sk>
Cc: Lubomir Rintel <lkundrak@v3.sk>
Cc: Dave Airlie <airlied@linux.ie>
Reviewed-by: default avatarEric Anholt <eric@anholt.net>
Cc: <stable@kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 229cc58b
...@@ -633,13 +633,15 @@ static void intel_i830_init_gtt_entries(void) ...@@ -633,13 +633,15 @@ static void intel_i830_init_gtt_entries(void)
break; break;
} }
} }
if (gtt_entries > 0) if (gtt_entries > 0) {
dev_info(&agp_bridge->dev->dev, "detected %dK %s memory\n", dev_info(&agp_bridge->dev->dev, "detected %dK %s memory\n",
gtt_entries / KB(1), local ? "local" : "stolen"); gtt_entries / KB(1), local ? "local" : "stolen");
else gtt_entries /= KB(4);
} else {
dev_info(&agp_bridge->dev->dev, dev_info(&agp_bridge->dev->dev,
"no pre-allocated video memory detected\n"); "no pre-allocated video memory detected\n");
gtt_entries /= KB(4); gtt_entries = 0;
}
intel_private.gtt_entries = gtt_entries; intel_private.gtt_entries = gtt_entries;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment