[Nouveau] [PATCH] drm/nv50: initialize ramht_refs list for faked 0 channel

Marcin Slusarz marcin.slusarz at gmail.com
Tue Aug 31 14:22:23 PDT 2010


On Sun, Aug 22, 2010 at 08:54:08PM +0200, Marcin Slusarz wrote:
> We need it for PFIFO_INTR_CACHE_ERROR interrupt handling,
> because nouveau_fifo_swmthd looks for matching gpuobj in
> ramht_refs list.
> It fixes kernel panic in nouveau_gpuobj_ref_find.
> 
> Signed-off-by: Marcin Slusarz <marcin.slusarz at gmail.com>
> ---
>  drivers/gpu/drm/nouveau/nv50_instmem.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/gpu/drm/nouveau/nv50_instmem.c b/drivers/gpu/drm/nouveau/nv50_instmem.c
> index b57cc4a..6e57426 100644
> --- a/drivers/gpu/drm/nouveau/nv50_instmem.c
> +++ b/drivers/gpu/drm/nouveau/nv50_instmem.c
> @@ -139,6 +139,8 @@ nv50_instmem_init(struct drm_device *dev)
>  	chan->file_priv = (struct drm_file *)-2;
>  	dev_priv->fifos[0] = dev_priv->fifos[127] = chan;
>  
> +	INIT_LIST_HEAD(&chan->ramht_refs);
> +
>  	/* Channel's PRAMIN object + heap */
>  	ret = nouveau_gpuobj_new_fake(dev, 0, c_offset, c_size, 0,
>  							NULL, &chan->ramin);
> -- 

ping



More information about the Nouveau mailing list