Re: 2.6.10-mm2 solved

From: Brice Goglin
Date: Mon Jan 10 2005 - 11:43:07 EST


The attached patch fixes it and solves my problem (when combined with
http://lkml.org/lkml/2005/1/7/377). DRM is back with good performance.

Actually, this doesn't fix Benoit's problem (even if we were initially
having the same errors (radeon_cp_init called without lock held)).

It seems that memsetting the whole bridge structure to 0 (instead of
juste the agp_in_use field) fixes Benoit's problem too.
No idea which field was responsible for this. New patch attached.

Regards,
Brice
--- linux-mm/drivers/char/agp/backend.c.orig 2005-01-10 10:36:13.000000000 +0100
+++ linux-mm/drivers/char/agp/backend.c 2005-01-10 10:34:35.000000000 +0100
@@ -235,6 +235,8 @@
if (!bridge)
return NULL;

+ memset(bridge, 0, sizeof(*bridge));
+
if (list_empty(&agp_bridges))
agp_bridge = bridge;