[PATCH] drm/mm: fix dump table BUG

Chris Wilson chris at chris-wilson.co.uk
Sat Apr 20 03:11:33 PDT 2013


On Sat, Apr 20, 2013 at 12:08:11PM +0200, Daniel Vetter wrote:
> In
> 
> commit 9e8944ab564f2e3dde90a518cd32048c58918608
> Author: Chris Wilson <chris at chris-wilson.co.uk>
> Date:   Thu Nov 15 11:32:17 2012 +0000
> 
>     drm: Introduce an iterator over holes in the drm_mm range manager
> 
> helpers and iterators for hole handling have been introduced with some
> debug BUG_ONs sprinkled over. Unfortunately this broke the mm dumper
> which unconditionally tried to compute the size of the very first
> hole.
> 
> Reported-by: Christopher Harvey <charvey at matrox.com>
> Cc: Christopher Harvey <charvey at matrox.com>
> Cc: Dave Airlie <airlied at redhat.com>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: stable at vger.kernel.org
> Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
>  drivers/gpu/drm/drm_mm.c |   11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_mm.c b/drivers/gpu/drm/drm_mm.c
> index db1e2d6..a0ba3a1 100644
> --- a/drivers/gpu/drm/drm_mm.c
> +++ b/drivers/gpu/drm/drm_mm.c
> @@ -759,14 +759,15 @@ int drm_mm_dump_table(struct seq_file *m, struct drm_mm *mm)
>  {
>  	struct drm_mm_node *entry;
>  	unsigned long total_used = 0, total_free = 0, total = 0;
> -	unsigned long hole_start, hole_end, hole_size;
> +	unsigned long hole_start, hole_end, hole_size = 0;
>  
> -	hole_start = drm_mm_hole_node_start(&mm->head_node);
> -	hole_end = drm_mm_hole_node_end(&mm->head_node);

Use __drm_mm_hole_node_start and __drm_mm_hole_node_end instead.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the dri-devel mailing list