Re: Fix agp_backend usage in drm_agp_init (was: 2.6.11-mm3 - DRM/i915 broken)

From: Jesse Barnes
Date: Fri Mar 18 2005 - 22:42:54 EST


On Friday, March 18, 2005 6:45 pm, Brice Goglin wrote:
> agpioc_acquire_wrap is called, it increments the agp_in_use. Then (before
> agpioc_release_wrap happens), drm_agp_init is called (I don't know how).
> drm_agp_init uses agp_backend_acquire which fails because agp_in_use is
> non-null (hold by agpioc_acquire_wrap).
>
> The multi-bridge AGP patch actually changed drm_agp_init by adding
> agp_backend_acquire/release around agp_copy_info.
> It is why drm_agp_init fails now while it worked before.
>
> I don't think we need to "acquire" it during agp_copy_info.
> Why don't we just get a pointer to the bridge instead ?
> (is there any chance this bridge gets deleted during drm_agp_init ?)
> That's what the attached patch implements on top of 2.6.12-rc1.
>
> I chose to add a new agp_backend_find() function, but we might also
> directly call agp_find_bridge() from drm_agp_init(). I don't know what's
> the best.
>
> I'm not familiar enough with DRM/AGP code to understand everything here.
> I might be missing something...

What does your patch look like? Markus might like to try it out as he
narrowed his problem down to something AGP related recently too:
http://bugme.osdl.org/show_bug.cgi?id=4337

Thanks,
Jesse
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/